Odczyt z txt do TEdit

0

Witam wszystkich. To mój pierwszy post i mam nadzieje, że nie ostatni. Na początku uprzedzę, że czytałem wszystkie posty dotyczące zapisu i odczytu danych do pliku ale odpowiedzi na moje pytanie nie znalazłem. Do rzeczy.
Robię prostą bazę danych na zaliczenie. Wykładowca zabronił korzystać z bazodanowych komponentów. Porobiłem TEdity których zawartość kopiowana jest do pliku tekstowego w jednym wierszu. Każde następne dopisywanie następuje poniżej ostatniego wiersza. Wygląda to tak:

procedure TForm1.dodanieklientaClick(Sender: TObject);
var
firmy: textfile;
begin

assignfile(firmy, 'C:\Moje dokumenty\Tomek\Delphi\zarzadzanie\firmy.txt');
try
append(firmy);
writeln(firmy, IDfirmy.Text, ' -- ', nazwafirmy.Text,' -- ', miasto.Text,' -- ', ulica.Text,' -- ', kodpocztowy.Text,' -- ', telefon.Text);
IDfirmy.text:=currtostr(strtocurr(IDfirmy.text)+1);
nazwafirmy.Text := '';
miasto.Text := '';
ulica.Text := '';
kodpocztowy.Text := '';
telefon.Text := '';

finally
closefile(firmy);
end;

Problem polega na tym czy tak zapisane dane można potem odczytać. Inaczej: czy da się później wyszukać klienta np. ponazwie ulicy i wprowadzić jego dane do tych samych TEditów? Jeżeli tak to jakie rozwiązanie szukania proponujecie?

0

wydaje mi sie że tutaj sie kłaniają pliki .ini
poszukaj w artykułach.

jednak moge sie mylić, jesli tak jest to prosze o usunięcie tego posta :-P

0

Lepiej by było użyć pliku typowanego.

Type TDane=Record //

0

Ja (jak zwykle) dodam jeszcze, że może warto oprzeć program o tabkicę dynamiczną typu TDane, na której można wykonywać rozmaite operacje bazodanowe, oraz łatwo zapisywać w całości do pliku.

0

writeln(firmy, IDfirmy.Text, ' -- ', nazwafirmy.Text,' -- ', miasto.Text,' -- ', ulica.Text,' -- ', kodpocztowy.Text,' -- ', telefon.Text);

najłatwiejszy odczyt:

var typ:array[1..6] of string;
i:integer;
ss:string;
begin
ss:=odczytane;
for i:=1 to 6 do
begin
typ[i]:=copy(ss,1,pos(' -- ',ss));
delete(ss,1,pos(' -- ',ss));
end;

for i:=1 to 6 do tedit(findcomponent('edit'+inttostr(i))).text:=typ[i];
end;

nie warto go używać poniewaz jak ktos napisze w pierwszym lepszym edicie "Ja -- Ty" to przy odczycie ostatni wpis niezostanie odczytany.... ogólnie używaj plików ini lub tlistview :-D

{ Drajwer nie cytuj całych postów!!!! pq }

1 użytkowników online, w tym zalogowanych: 0, gości: 1