Ahoj všem.
Začal jsem se učit delphi7 a dělá mi trošku problém příkaz readln. Mám soubor pokus.txt a do něj pomocí příkazu writeln zapisuji číselné hodnoty(string). Po otevření tohoto souboru v Poznámkovém bloku, jsou vidět jednotlivé hodnoty pod uloženy pod sebou, což si myslím, že je v pořádku, protože writeln by měl po zápisu hodnot přejít na další řádek. Když tyto hodnoty chci číst, tak mi ale příkaz readln přečtě pouze počáteční hodnotu a víc nic??? Kde dělám chybu??? Když přidám příkaz readln(f), načte mi to zase jen o řádek posunutou hodnotu a dál opět nic. Myslel jsem, že pokud budu ve smyčce dávat příkaz readln, bude to vypisovat hodnoty jak jdou po řádcích, pochopil jsem něco špatně??? Děkuji za pomoc.Mlike
chjo nevim jak opravit název, má tam samozřejmě být readln...
Fórum › Delphi
Redln prosím radu
procedure TForm1.Button1Click(Sender: TObject);
begin
assignfile( f,'E:\pokusdelphi.txt');
append(F);
J := J + 1 ;
s:= inttostr(j);
writeln(F,S);
panel1.caption:= S;
CloseFile(F);
end;
procedure TForm1.Button2Click(Sender: TObject);
var delkasouboru: integer;
pom:string;
begin
assignfile( f,'E:\pokusdelphi.txt');
reset(F);
delkasouboru := filesize(f);
pom:= inttostr(delkasouboru);
closefile(f);
panel2.Caption:= pom;
assignfile( f,'E:\pokusdelphi.txt');
reset(F);
readln(F,S); { Read first line of file }
panel3.caption:= (S);
CloseFile(F);
end;
end.
Stačí tak?? Nevim, jestli neni problém to dávat takhle napřímo, nebo jen odkaz na soubor.
To JoDiK : no nevim přesně co si pod tim představuješ??? pastnul jsem kousek toho kodu, je to jen hraní, tak to vypada hrozně a jsou tam i věci navíc,ale nemyslim si, že by ovlivňovaly to vypisování. Já myslel, že tím příkazem readln načítáš postupně do nějakej proměnnej data jedno po druhým a pak to z tej proměnnej necháš vypisovat? pokud ne, k čemu je teda ten příkaz??
Promiň špatně jsem ten příspěvek adresovatl, nevšiml jsem si, že jsem to špatně smazal.
Kód je dobré označit jako kód. A jestli ho má někdo číst, tak ho napiš čitelně.
Jak ten readln má vědět jaký řádek chceš číst? Prostě načte jeden řádek, když pokaždé ten soubor znovu otevřeš a zavřeš, tak samozřejmě pokaždé přečte jen první řádek.
{ na co tam ten komentář máš? }
while not eof(f) do
begin
readln(f, s);
showmessage(s);
end;
To mlike :
Aha, dokud tady nebyl kód nemoh jsem tušit, jestli to děláš v konzoli nebo v okně...
Co kdyby sis v nápovědě přečetl, jak funguje čtení ze souboru?
A jestli se nepletu tak FileSize je použitelné pouze pro typové a netypové soubory, jaké číslo ti to hodilo pro ten textový soubor?
Jo a příště nezapomeň vložit i deklarace proměnných...
To JoDiK : jo, číslo to hodilo blbý, ale to je v poho, už to vím. jo a už to šlape,nevim kde byla chyba, ale napřed mi to vyhazovalo chybu u příkazu eof, tak jsem si s tim hrál a zkoušel to nějak rozchodit a došlo to až do toho stadia, který jsem sem pastnul. Po Nervakově reakci to chvili šlo pak to zas nešlo(nevim proč, připsal jsem dva řádky, nešlo to, tak jsem je smazal a zas to nechodilo), tak jsem to celý zavřel, napsal znovu a přehlednějc a zas to jede. Takže vlastně problém vyřešen a všem za rady děkuji. Já se v Delpfi rochnim druhej den, některý věci mi něco říkaj z piců, tak si prostě jen tak zkoušim. Mám radši, když si vymyslim nějakou konkrétní věc a na tom se učim, než jít od začátku učebnice a vlastně nevidět nějakej výsledek. Ale zatim to jde. Děkuju vám moc všem.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Prosím o radu! :) — založil brunoczech
Prosím o radu !!! — založil ospalka123
Prosím o radu — založil orei
Prosím o radu — založil dave3++
Prosím o radu — založil Berry309