[Delphi] Czy ktoś mi coś zrobi? :)

0

Czy byłby ktoś chętny zrobić mi do tego pliku http://www.ser.xo.pl/adr.zip
, aby dane były zapisywane w pliku txt w formacie: pseudo||imie||nazwisko||telefon|| z enterem na końcu - czy byłby ktoś miły?

0

zapis pseudo||imie||nazwisko||telefon|| z enterem na końcu jest trochę niebezpieczny bo jeśli użytkownik w np. pseudo poda Mirek||P to załą bazę szlag trafi

moja propozycja:
Ilośc pozycji
pseudo
imie
nazwisko
telefon
pseudo
imie
nazwisko
telefon
itd.

a zapis:
procedure TMainForm.Zapisz1Click(Sender: TObject);
Var
poz : Integer ;
lista : TStringlist ;
begin
lista := TStringList.Create ;
Lista.Clear ;
Lista.Add(IntToStr(ListView.Items.Count));
For poz := 0 To ListView.Items.Count-1 do
Begin
Lista.Add(ListView.Items.Item[poz].Caption ) ;
Lista.Add(ListView.Items.Item[poz].SubItems.Strings[0]) ;
Lista.Add(ListView.Items.Item[poz].SubItems.Strings[1]) ;
Lista.Add(ListView.Items.Item[poz].SubItems.Strings[2]) ;
End ;
lista.SaveToFile('costam.txt') ;
lista.Free;
end;

0

ja bym wykożystał pliki INI
(dodaj do Uses INIFiles)

ZAPIS

var
INI: TINIFile;
I:Integer;
begin
INI:=TINIFile.Create('C:book.ini');
for I:=0 to ListView.Items.Count-1 do
begin
INI.WriteString(ListView.Items[I].Caption,'imie',ListView.Items[I].SubItems[0]);
INI.WriteString(ListView.Items[I].Caption,'nazwisko',ListView.Items[I].SubItems[1]);
INI.WriteString(ListView.Items[I].Caption,'email',ListView.Items[I].SubItems[2]);
end;
INI.Free;
end;

ŁADOWANIE

var
INI: TINIFile;
I:Integer;
Temp: TStringList;
ListItem : TListItem;

begin
INI:=TINIFile.Create('C:book.ini');
Temp:=TStringList.Create;
INI.ReadSections(Temp);
for I:=0 to Temp.Count-1 do
begin
with ListView do
ListItem := Items.Add;
ListItem.Caption := Temp[I];
ListItem.SubItems.Add(INI.ReadString(Temp[I],'imie',''));
ListItem.SubItems.Add(INI.ReadString(Temp[I],'nazwisko',''));
ListItem.SubItems.Add(INI.ReadString(Temp[I],'email',''));;
end;
INI.Free;
Temp.Free;
end;

a resztę o plikach ini (np. kasowanie) poczytaj na tej stronce!

0

Hmmm... a czy nie da się zamieniać znaków? Zeby we wszystkich polach zamieniało || na np !! i wtedy zapisywać?
A może znacie jakieś fajne źródełko książki adresowej z takimi funkcjami?? Mam wszystkie z tej strony, ale żadna mi nie leży :(

0

sorry nie zwróciłem uwagi że napisałeś jak chcesz to zapisywać :)
Ale właśnie (to co pisał mirekpil) lepiej zablokuj mozliwość wpisywania znaków | przy dodawaniu bo nie bedzie odczytywać tak jak ma :( - dalej polecam INI :)

a tu masz kody o jakie prosiłeś

ZAPIS:
var
Source: TStringList;
I: Integer;
begin
Source:=TStringList.Create;
for I:=0 to ListView.Items.Count-1 do
Source.Add(ListView.Items[I].Caption+'||'+ListView.Items[I].SubItems[0]+'||'+ListView.Items[I].SubItems[1]+'||'+ListView.Items[I].SubItems[2]+'||');
Source.SaveToFile('C:baza.txt');
Source.Free;
end;

ODCZYT:
var
Source: TStringList;
I: Integer;
ListItem : TListItem;
Temp, Pseudo, Imie, Nazwisko, Email: String;
begin
Source:=TStringList.Create;
Source.LoadFromFile('C:baza.txt');
for I:=0 to Source.Count-1 do
begin
Temp:=Source[I];
Pseudo:=Copy(Temp,1,Pos('||',Temp)-1);
Delete(Temp,1,Pos('||',Temp)+1);
Imie:=Copy(Temp,1,Pos('||',Temp)-1);
Delete(Temp,1,Pos('||',Temp)+1);
Nazwisko:=Copy(Temp,1,Pos('||',Temp)-1);
Delete(Temp,1,Pos('||',Temp)+1);
Email:=Copy(Temp,1,Pos('||',Temp)-1);
with ListView do
ListItem := Items.Add;
ListItem.Caption := Pseudo;
ListItem.SubItems.Add(Imie);
ListItem.SubItems.Add(Nazwisko);
ListItem.SubItems.Add(Email);;
end;
Source.Free;
end;

0

wielkie dzięki - zobacze czy działa

0

OKI, wszystko mi już działa, ale jeszcze jakbyście zechcieli podać jak usówać z pliku bazy zaznaczone rekordy (a jeszcze jakbyście podali jak je modyfikować :)) to było by suuper :P

0

O ile się nie myle to o rekordach jest na 4programmers tylko teraz nie wiem w jakim dziale ... Ale poszukaj to na pewno znajdziesz ...

0

znalazłem ten artykół, ale nie wiem jak usówać daną linię z pliku, może jakąś pętlę, tylko nie wiem jak ją zatrzymać na odpowiedniej lini, którą się usunie - pliz o kawałek kodu, bo nie jestem zbyt dobry w delphi :(

0

no okażcie serce i dajcie gotowca do usówania danej linijki, bo ja nie mam pojecia jak to zrobić :(

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