Форум » [x]Harbour » обработка INI файлов в Harbour » Ответить

обработка INI файлов в Harbour

spair2k: подскажите, как заменить функцию xHarbour HB_READINI() для сборки в Harbour?

Ответов - 10

Pasha: HB_IniRead()

spair2k: что-то я туплю где-то... вот примерчики... исходный код: [pre]function main() local h := hb_iniread('test.ini') ? hb_valtoexp(h) return[/pre] ini файл: [pre][header] datareg=17/08/2010 total=4,378.00 rows=2 [row_1] shifr=130 service=Service 1 qnt=1.0 price=630.00 sum=630.00 [row_2] shifr=280 service=Service 2 qnt=1.0 price=2619.00 sum=2619.00[/pre] на выходе: [pre]D:\projects\harbour\test\ini>test-ini.exe {"MAIN"=>{=>}, "row_1"=>{=>}, "row_2"=>{=>}, "header"=>{=>}}[/pre] почему-то не считывает содержание...

Pasha: Я считываю таким макаром: aIni := HB_IniRead(cFileName) if hb_HHasKey( aIni, cKey ) aRazd:= aIni[cKey] cVal1 := aRazd[cPar1] ...


spair2k: дописал пример: [pre2]#include 'hbcompat.ch' function main() local aIni := hb_iniread('test.ini') local aHeader, cVal ? hb_valtoexp(aIni) if hb_HHasKey(aIni,'header') aHeader := aIni['header'] cVal := aHeader['rows'] endif ? cVal return[/pre2] на выходе Harbour: [pre2]D:\projects\harbour\test\ini>test-ini.exe {"MAIN"=>{=>}, "row_1"=>{=>}, "row_2"=>{=>}, "header"=>{=>}} Error BASE/1132 Bound error: array access Called from MAIN(7)[/pre2] на выходе xHarbour: [pre2]D:\projects\harbour\test\ini>test-ini-xhb.exe { "MAIN" => Hash(), "header" => { "datareg" => "17/08/2010", "rows" => "2", "tot al" => "4,378.00" }, "row_1" => { "price" => "630.00", "qnt" => "1.0", "service" => "Service 1", "shifr" => "130", "sum" => "630.00" }, "row_2" => { "price" => "2619.00", "qnt" => "1.0", "service" => "Service 2", "shifr" => "280", "sum" => "2619.00" } } 2[/pre2] INI файл не менялся. Может в нем как-то по другому надо описывать данные? данный пример был собран в xHarbour и отработал на ура... а так хочется пользоваться всеми преимуществами Harbour... неужели это только у меня так?

AlexMyr: Собрал твой пример и на выходе Harbour получил C:\hrb\test\hash\>aa.exe {"MAIN"=>{=>}, "row_1"=>{"qnt"=>"1.0", "sum"=>"630.00", "price"=>"630.00", "shif r"=>"130", "service"=>"Service 1"}, "row_2"=>{"qnt"=>"1.0", "sum"=>"2619.00", "p rice"=>"2619.00", "shifr"=>"280", "service"=>"Service 2"}, "header"=>{"rows"=>"2 ", "total"=>"4,378.00", "datareg"=>"17/08/2010"}} 2

spair2k: AlexMyr А какая сборка Harbour?

Dima: spair2k пишет: А какая сборка Harbour? А у тебя ?

AlexMyr: spair2k пишет: AlexMyr А какая сборка Harbour? Harbour 2.1.0beta2 (Rev. 15426)

spair2k: Dima пишет: А у тебя ? Harbour 2.1.0beta1 (Rev. 14520)

spair2k: обновил версию и все заработало всем спасибо



полная версия страницы