graph + fichier [résolu]

graph + fichier [résolu] - Delphi/Pascal - Programmation

Marsh Posté le 18-09-2003 à 23:30:33    

Salut.
Voilà j'ai un bout de code qui ne fonctionne pas (sisi :d).


uses graph;
var
pilote , mode : integer;
f:text;
x:integer;
y:integer;
begin
     x:=150;
     y:=150;
     pilote := detect;
     initgraph(mode,pilote, 'c:\TP\BGI');
     assign(f , 'c:\TP\menu01.txt');
     reset(f);
     read(f);
     close(f);
     outtextxy(x,y,f);
     readln;
     closegraph;
 
end.


Il me dit qu'il y a un prob à ce niveau:
outtextxy(x,y,f);
Erreur 26: type mismatch.
Si qqun a une idée du prob. :)


Message édité par amsterdam le 19-09-2003 à 04:10:43
Reply

Marsh Posté le 18-09-2003 à 23:30:33   

Reply

Marsh Posté le 19-09-2003 à 00:12:50    

T'abuses là hein :heink: c'est quoi les params que cette fonction attend ? je vois pas ce que vient foutre là dedans :??:
Puis ton read(f), tu lis dans f, mais tu mets le truc lu où ?


Message édité par antp le 19-09-2003 à 00:13:25

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-09-2003 à 00:39:57    

Désolé mais je fait avec ce que j'ai.
 
En effet le read(f) est peut être de trop.
 
Si j'ai bien compris le assign comme son nom l'indique assigne au moins la première ligne de mon fichier texte à f.
Ensuite je cherche à afficher ceci par outtextxy.
 
Tous les exemples que j'ai trouvés utilisaient write mais c'est du mode crt non ?


Message édité par amsterdam le 19-09-2003 à 00:41:20
Reply

Marsh Posté le 19-09-2003 à 00:47:44    

non, assign établit un lien entre le fichier tel qu'il est vu par le programme (f) et le fichier qui est sur le disque (nom passé en param).
ton read devrait être du genre readln(f, s); où s est une chaîne par exemple. Enfin, je suis pas très sûr de comment ça marche en Pascal pur, je n'ai utilisé ça qu'en Delphi.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-09-2003 à 01:15:24    

Ce code fonctionne pas.


uses crt;
var
f:text;
s:string;
begin
assign (f,'c:\TP\menu01.txt');
while not eof(f) do
begin
readln (f,s);
write(s);
readln;
end;
close(f);
end.


Par contre je ne suis pas en mode graph si bien que le outtext ne fonctionne pas. :/


Message édité par amsterdam le 19-09-2003 à 01:22:40
Reply

Marsh Posté le 19-09-2003 à 01:21:15    

J'ai parlé trop vite. :cry:

Reply

Marsh Posté le 19-09-2003 à 01:55:08    

Il y a du mieux.
Ce bout de code fonctionne


var
f:text;
s: string;
begin
     assign (f,'c:\TP\villes.txt');
     reset(f);
     while not eof(f) do
           begin
                readln(f,s);
                writeln(s);
                readln(f,s);
                writeln(s);
                readln;
           end;
     close(f);
end.


avec le fichier fourni, saut que le contenu de ce fichier soit disant texte donne ceci.
 
㄰ㄷ0桔楯祲㈰〰0慌湯㈰〱0
慓湩⁴畑湥楴n㌱〰0 慍獲楥汬e㤲〰0畑浩数r㤲〱0
潄慵湲湥穥㤲〲0牂獥t㤲〷0汐浯汥湩㔳〰0敒湮獥㐴㠵0潂牵湧略⁦湅删瑥zㄵ㤳0畇略x㈵〲0慌杮敲s㤵〰0楌汬e㤵〱0潒扵楡x㤵ㄱ6 潈灵楬敮s㤵ㄱ8 慗扭敲档敩s㤵㌱0
慌扭牥慳瑲㤵㔱2桃狩湥g㤵㜱0牃楯x㤵〲0 潔牵潣湩g㤵㘲2慓湩桧湩攠慬瑮楯s㤵㜳0潍獮䔠慂潲略l㤵㤳0祌⁳敌⁳慌湮祯㤵ㄵ0效m㤵㈵0 慍煲敵瑴e㤵㔶0楖汬湥略敶搠䄧捳q㤵〷0慍捲ⁱ湅䈠牡敯汵㤵㈸0
片癡汥湩獥㤵㌸0祃潳湩g㤵㐸0
敲据楨獥㤵㤸0畑獥潮⁹畳⁲敄汵e㈶〰0牁慲s㈶ㄲ5
祏獥倠慬敧㈶㈲3慓湩⁴慌牵湥⁴求湡祧㈶㘲0畁档汥㈶〳0敌獮㈶㤳0畁楸䰠⁥桃瑡慥u㈶㐸0慓汩祬匠牵䰠⁡祌s㐷〲0桔湯湯㐷㐴0慔楮杮獥㐷〷0桃浡湯硩㔷〰0慐楲s㠷㐱0敖楬祺〸〰0流敩獮㌸〲0潔汵湯㌸㈳0 慃煲敵物湡敮㈹㌲0
敇湮癥汩楬牥s㌹〵0慐瑮湩
 
et n'est ouvrable qu'avec TP.  :fou:  
Donc je ne suis pas sorti de l'auberge.  :lol:


Message édité par amsterdam le 19-09-2003 à 01:56:11
Reply

Marsh Posté le 19-09-2003 à 02:56:58    

et ca te fait rire en +  :o

Reply

Marsh Posté le 19-09-2003 à 03:02:57    

C'est bon j'ai trouvé d'ou venait le problème.  :lol:  
J'ai fait une boulette en créant le fichier texte.  :pt1cable:  :pt1cable:  :pt1cable:  
 
Voici un bout de code qui fonctionne.


var
f:text;
s: string;
begin
     Assign (f,'c:\TP\menu.txt');
     Reset(f);
     while not eof(f) do
           begin
                Readln(f,s);
                Writeln(s);
           end;
           readln;
     Close(f);
end.


Message édité par amsterdam le 19-09-2003 à 03:03:38
Reply

Marsh Posté le 19-09-2003 à 03:08:03    

amsterdam a écrit :

C'est bon j'ai trouvé d'ou venait le problème.  :lol:  
J'ai fait une boulette en créant le fichier texte.  :pt1cable:  :pt1cable:  :pt1cable:  
 
Voici un bout de code qui fonctionne.


var
f:text;
s: string;
begin
     Assign (f,'c:\TP\menu.txt');
     Reset(f);
     while not eof(f) do
           begin
                Readln(f,s);
                Writeln(s);
           end;
           readln;
     Close(f);
end.




 
jsens qui en a un qui va etre fatigue demain  :whistle:

Reply

Marsh Posté le 19-09-2003 à 03:08:03   

Reply

Marsh Posté le 19-09-2003 à 03:19:16    

Voici la version GRAPH.


uses graph;
 
var
pilote,mode:integer;
 
f:text;
s: string;
x:integer;
y:integer;
 
begin
x:=200;
y:=150;
pilote:=detect;
initgraph(mode,pilote,'c:\TP\BGI');
     Assign (f,'c:\TP\menu.txt');
     Reset(f);
     while not eof(f) do
           begin
                Readln(f,s);
                outtextxy(x,y,s);
                y:=y+30;
           end;
           readln;
     Close(f);
end.



jsens qui en a un qui va etre fatigue demain  :whistle:  


D'abord on est déjà demain :p et je ne reprend le boulot que vendredi prochain (chômage technique :( ).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed