Автор | Сообщение |
|
| |
Пост N: 69
Зарегистрирован: 31.05.07
|
|
Отправлено: 02.09.10 10:30. Заголовок: обработка INI файлов в Harbour
подскажите, как заменить функцию xHarbour HB_READINI() для сборки в Harbour?
|
|
|
Ответов - 10
[только новые]
|
|
|
| Администратор
|
Пост N: 1638
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.09.10 10:35. Заголовок: HB_IniRead()..
HB_IniRead()
|
|
|
|
| |
Пост N: 70
Зарегистрирован: 31.05.07
|
|
Отправлено: 02.09.10 11:11. Заголовок: а вот примерчик
что-то я туплю где-то... вот примерчики... исходный код: function main() local h := hb_iniread('test.ini') ? hb_valtoexp(h) return ini файл: [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 на выходе: D:\projects\harbour\test\ini>test-ini.exe {"MAIN"=>{=>}, "row_1"=>{=>}, "row_2"=>{=>}, "header"=>{=>}} почему-то не считывает содержание...
|
|
|
|
| Администратор
|
Пост N: 1639
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.09.10 11:28. Заголовок: Я считываю таким мак..
Я считываю таким макаром: aIni := HB_IniRead(cFileName) if hb_HHasKey( aIni, cKey ) aRazd:= aIni[cKey] cVal1 := aRazd[cPar1] ...
|
|
|
|
| |
Пост N: 71
Зарегистрирован: 31.05.07
|
|
Отправлено: 02.09.10 12:26. Заголовок: модификация
дописал пример: цитата: | #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 |
| на выходе Harbour: цитата: | 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) |
| на выходе xHarbour: цитата: | 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 |
| INI файл не менялся. Может в нем как-то по другому надо описывать данные? данный пример был собран в xHarbour и отработал на ура... а так хочется пользоваться всеми преимуществами Harbour... неужели это только у меня так?
|
|
|
|
| |
Пост N: 46
Зарегистрирован: 11.06.10
|
|
Отправлено: 02.09.10 13:14. Заголовок: Собрал твой пример и..
Собрал твой пример и на выходе 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
|
|
|
|
| |
Пост N: 72
Зарегистрирован: 31.05.07
|
|
Отправлено: 02.09.10 14:17. Заголовок: AlexMyr А какая сбор..
AlexMyr А какая сборка Harbour?
|
|
|
|
| |
Пост N: 1864
Зарегистрирован: 17.05.05
|
|
Отправлено: 02.09.10 14:51. Заголовок: spair2k пишет: А ка..
spair2k пишет: А у тебя ?
|
|
|
|
| |
Пост N: 47
Зарегистрирован: 11.06.10
|
|
Отправлено: 02.09.10 15:00. Заголовок: spair2k пишет: Alex..
spair2k пишет: цитата: | AlexMyr А какая сборка Harbour? |
| Harbour 2.1.0beta2 (Rev. 15426)
|
|
|
|
| |
Пост N: 73
Зарегистрирован: 31.05.07
|
|
Отправлено: 02.09.10 15:31. Заголовок: Dima пишет: А у теб..
Dima пишет: Harbour 2.1.0beta1 (Rev. 14520)
|
|
|
|
| |
Пост N: 74
Зарегистрирован: 31.05.07
|
|
Отправлено: 02.09.10 15:39. Заголовок: обновил версию и все..
обновил версию и все заработало всем спасибо
|
|
|
|