Skocz do zawartości


Zdjęcie

[delphi]Problem z plikiem txt


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 bfo

bfo

    Nowy

  • 1 postów

Napisano 20 06 2007 - 12:21

Cześć :P
Mam taki kod:
procedure TForm1.Button3Click(Sender: TObject);
var cookie,poczekalnia : TextFile;
var x,linie,yesno,i,y,hPoczekalnia : Integer;
var liniaCh : String;
var slowa : array of String;
var c : Char;
begin
linie := 0;
x := 0;
AssignFile(cookie,GetCurrentDir + '\cookies.txt');
Reset(cookie);
//policz ile linii i przygotuj tablicę
while eof(cookie) do
 begin
 Read(cookie,c);
 if c = PChar(eoln(cookie)) then linie := linie + 1;
 end;
SetLength(slowa,linie);
CloseFile(cookie);
Reset(cookie);
while eof(cookie) do
 begin
 Readln(cookie,liniaCh);
 slowa[x] := liniaCh;
 x := x + 1;
 end;
Application.MessageBox('Tablica zapełniona','Oslocookie',MB_OK or MB_ICONINFORMATION);
CloseFile(cookie);
//wyodrębnij i zapisz poczekalnię do pliku
AssignFile(poczekalnia,GetCurrentDir + '\poczekalnia.txt');
if not FileExists(GetCurrentDir + '\poczekalnia.txt') then
 begin
 hPoczekalnia := FileOpen(GetCurrentDir + '\poczekalnia.txt',fmOpenWrite);
 i := 0;
  while i < x do
   begin
   y := AnsiPos('www.osloskop.net',slowa[i]);
   if y <> 0 then
	begin
	Label2.Caption := slowa[i];
	FileWrite(hPoczekalnia,slowa[i],Length(slowa[i]));
	Label2.Caption := slowa[i];
	break;
	end;
   i := i + 1;
   end;
 Application.MessageBox('Zczytano poczekalnię','Oslocookie',MB_OK or MB_ICONINFORMATION);
 FileClose(hPoczekalnia);
 end
else
 begin
 yesno := Application.MessageBox('Czy utworzyć nowy plik?','Oslocookie',MB_YESNO or MB_ICONQUESTION);
 if yesno = ID_YES then
  begin
  hPoczekalnia := FileOpen(GetCurrentDir + '\poczekalnia.txt',fmCreate);
  i := 0;
  while i < x do
   begin
   y := AnsiPos('www.osloskop.net',slowa[i]);
   if y <> 0 then
	begin
	FileWrite(hPoczekalnia,slowa[i],Length(slowa[i]));
	Label2.Caption := slowa[i];
	break;
	end;
   i := i + 1;
   end;
  Application.MessageBox('Zczytano poczekalnię','Oslocookie',MB_OK or MB_ICONINFORMATION);
  FileClose(hPoczekalnia);
  end
 else
  begin
  Application.MessageBox('Ponów próbę!','Oslocookie',MB_OK or MB_ICONSTOP);
  end;
 end;

end;
Wie ktoś może dlaczego w pliku poczekalnia.txt nic się nie zapisuje? Sprawdziłem tablicę slowa i wyszło, że ona jest pusta. Pomóżcie!

  • 0

#2 fidell_

fidell_

    Obserwator

  • 7 postów

Napisano 12 07 2007 - 21:03

jak dla mnie to kojarzysz zmienna poczekalnia z plikiem na dysku (AssignFile), a potem nie zauwazylem zeby plik ten był otwierany (Reset) ale ja jestem dosc poczatkujacy w tej kwestii wiec moge nie miec racji

  • 0

Zobacz więcej tematów z tagiem: Delphi



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych