Praca so subormi – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Praca so subormi – Pascal – Fórum – Programujte.comPraca so subormi – Pascal – Fórum – Programujte.com

 

Tom@sQo0
Stálý člen
13. 11. 2007   #1
-
0
-

ahoj,
mam taku otazocku tykajucu sa pascalu, totiz:

v skole sme sa ucili pracovat so subormi cez funkcie ako je assign(),....
ja vsak pouzivam freepascal, takze to nefunguje(myslim freepascal je na vine, nie ja ;-])
tak som si nan nete nasiel nieco taketo: http://www.freepascal.org/docs-html/rtl/sysutils/filecreate.html
a ostatne fcie spojene s pracou so subormi...(dufam, ze to nieje binarne zpisovanie do suboru, pls opravte ma ak sa mylim)

aa skusil som taku vecicku, ze:



Uses sysutils, crt;

Var I,J,F : Longint;

Begin

F:=FileCreate ('testik.dat');
If F=-1 then
Halt(1);
For I:=0 to 100 do begin
writeln(I , '::', ord(I), '::', chr(I));
FileWrite(F,chr(I),SizeOf(i));
FileWrite(F,ord(I),SizeOf(i));
FileWrite(F,I,SizeOf(i));
end;
FileClose(f);

end.



propblem je vsalk v tom, ze mi ani za svet nechce napisat cisla od 0-100 ...
co mam robit? napiste mi pls program, ktory mi do suboru zapise cisla od 0 do 100 :) diky :)

Nahlásit jako SPAM
IP: 213.81.187.–
Tom@sQo
Laaca0
Stálý člen
14. 11. 2007   #2
-
0
-

Freepascal umí Assign a spol. úplně stejně jako Turbo pascal. Dokonce i pro dlouhé názvy souborů. Chyba je tedy mezi židlí a klávesnicí :-)
Co se týče tvého postupu - uvědom si, že používáš funkce určené pro binární, nikoliv textové soubory. Taky mi není úplně jasné, co po svém programu chceš. Jestli prostě vypsat čísla od 0 do 100, tak musíš provést konverzi z typu Longint na typ String:



uses sysutils, crt;
Var I,F : Longint;
s:string;

Begin
F:=FileCreate ('testik.dat');
If F=-1 then Halt(1);

For I:=0 to 100 do begin
s:=IntToStr(i)+#13#10;
FileWrite(F, s[1], Length(s));
end;

FileClose(f);
end.

Nahlásit jako SPAM
IP: 82.208.37.–
DOS-u-akbar
polly
~ Anonymní uživatel
2 příspěvky
15. 11. 2007   #3
-
0
-

To Laaca : mno spíš myslim že chtěl aby se mu to zapisovalo do textaku takže normalně požij assign(); potom ho vytvoř ( rewrite(); ) a zapisuj pomocí write(jmeno souboru,'text ktery se zapise');

mělo by to vypadat asi takhle ;)



uses crt;
var soubor:text;
cislo:byte;
const max = 100;

begin
assign(soubor, 'C:\Documents and Settings\*JMENO UZIVATELE*\Desktop\cisla.txt');
rewrite (soubor);
cislo:=0;

repeat
cislo:=cislo+1;
write(soubor,' ',cislo);
until cislo = max;

close(soubor);
writeln('HOTOVO');
repeat until keypressed;
end.

Nahlásit jako SPAM
IP: 62.245.78.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

Práca so súbormi — založil Milan

Praca s oknami — založil Tom

Praca webmaster — založil maros cerven

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý