IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   TIniFile (https://www.imho.ws/showthread.php?t=18316)

CYD 20.12.2002 11:27

TIniFile
 
Я понимаю, что уже всех достал, но зеленый я..:)
Вообщем если кто может, помогите плиз:
var IniFile: TIniFile;

Грит undeclared identifier TIniFile

спасибо

denver 20.12.2002 11:33

Re: TIniFile
 
Цитата:

Как писал CYD
Я понимаю, что уже всех достал

Это точно ;)

Подключи IniFiles в uses

CYD 20.12.2002 12:18

Ну не убивай талант в новечке :)
Я читаю мануалы. чес слово..но мелочи там обычно не указывают:_(

denver 20.12.2002 12:33

Ладна не буду :)
А что же ты таки пишешь если не секрет?

CYD 20.12.2002 12:56

Да програмку вроде алрессной книги...
Ну тоесть вводишь текст в поля, он ложится на таблицу по разделам...
Вот сохранил я в ини..а загрузить..:)

denver 20.12.2002 13:21

Сохранять данные такого типа лучше в файл со своей структурой. Напиши в редакторе textfile и сразу нажми F1 - там все написано и как раз для твоего случая

CYD 21.12.2002 04:19

Еще один трабл по считыванию из ини :)
Сохранил:
IniFile := TIniFile.Create('d:/db.ini');
IniFile.WriteString(InttoStr(SG.RowCount-1),'ID',InttoStr(SG.RowCount-1));

IniFile.WriteString(InttoStr(SG.RowCount-1),'field1',Edit1.Text);
IniFile.WriteString(InttoStr(SG.RowCount-1),'field2',Edit2.Text);
IniFile.WriteString(InttoStr(SG.RowCount-1),'field3',Edit3.Text);
IniFile.WriteString(InttoStr(SG.RowCount-1),'field4',Edit4.Text);
IniFile.WriteString(InttoStr(SG.RowCount-1),'field5',Edit5.Text);

А прочесть как?:))
Спасиб бальшое..заранее:)

CYD 21.12.2002 04:38

Написал такую штуку:
var
AppIni: TIniFile;
u:integer;
begin
AppIni := TIniFile.Create('d:/db.ini');
AppIni.ReadSections(SG.Cols[1]);
AppIni.ReadSection('field1',SG.Cols[2]);
AppIni.ReadSectionValues('field2',SG.Cols[3]);
AppIni.Free;
for u:=1 to SG.Rowcount do
SG.Cells[0,u]:=InttoStr(u);
end;

Но че-то криво открывается...все ряды сместились вправо и считываются только те, в которых были записи..а пустые я так понял и не сохранились

denver 21.12.2002 09:21

Да не используй ты ей-богу ини файлы, они заточены под сохранение настроек и опций программы (как минимум название опции, типа пусть будет RunMinimized или шо хочешь, должно быть постоянным, как у переменной. Т.к. считывать значения потом надо зная название этой опции.)

Посмотри типизированные файлы (см. выше) и переменные типа Record, а лучше все это вообще как Class оформить (не зря же в дельфях классы есть внатуре, они жизнь программера вообще удлиняют) да и обращаться удобнее как Person[1].Adress, Person[2].Phone, Person[3].Kill и т.д.

helldomain 23.12.2002 04:02

A luche wsego takie weschi w DB pihat imho.

denver 23.12.2002 05:52

helldomain
Чтобы юзать такую базку данных придется каждый раз после переустановки винды BDE устанавливать, который ну нафиг никому не нужен. Легче свой формат файла.

helldomain 23.12.2002 06:32

A na koi bde nado? Uzai ODBC na pryamuju ili lokalnuju Access DB cherez Jet i OLEDB.

sergey_duka 29.12.2002 02:32

Для SYD:

Все правильно ты делаешь, но если SG - StringGrid, то Cells 0-based массив.
Потому не:
for u:=1 to SG.Rowcount do
SG.Cells[0,u]:=InttoStr(u);
а
for u:=0 to SG.Rowcount-1 do
SG.Cells[0,u]:=InttoStr(u+1);

denver 29.12.2002 08:36

sergey_duka
Тоже верно, я не заметил. По крайней мере смещение из-за этого было. Но все равно, в данных случаях я за свой формат файла.


Часовой пояс GMT +4, время: 14:30.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.