læse txt fil

Tags:    delphi

User
Bruger #812 @ 23.11.02 11:53
Jeg har brug for at kunne læse om det står "on", "off" eller "disabled" i en bestemt txt fil, og udføre en handling alt efter hvilken værdi der står i filen. Men jeg har ingen ide til hvordan det gøres.

--
Thomas



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg kan ikke rigtigt få det til at virke, men hvis du kan komme med et eksempel på at læse C:\\test.txt, smider jeg da gerne et par UP ekstra oven i hatten


Har lige testet det og det virker...

lav en ny application, indsæt en 'button' og et 'edit' felt.

indsæt funktionen som Thomas DarkStar nævnte...

Fold kodeboks ind/udKode 


Ude i dit 'object treeview' til venstre dobbelklik på 'Button1'.
her skal der stå:

Fold kodeboks ind/udKode 


lav en test.txt på dit C drev og skrev i første linie: off

test programmet (F9) og tryk på knappen.

Nu skulle du gerne få smidt en meddelelse i hovedet...

/Martin

ps. jeg kan altid sende dig program + source hvis det er...



Det er nok lettest at bruge en INI fil.

hvis inifilen ser sådan ud:

[check]
value=on

tilføj Inifiles i Uses afsnittet

skriv da i en procedure:

var ini1: TIniFile;
begin
ini1 = TIniFile.create('dininifil.ini');
case ini1.readstring('check', 'value') of:
'on': udfør handling;
'of': udfør handling;
'disabled': udfør handling;
end;
end;


det kan godt være at det ikke er helt rigtigt men kik eventuelt i udviklerens artikler eller i delphis hjælp!

Jeppe Johansen
Jeppesoftware@hotmail.com[Redigeret d. 23/11-02 12:19:21 af Jeppe]



Jeg har brug for at kunne læse om det står "on", "off" eller "disabled" i en bestemt txt fil, og udføre en handling alt efter hvilken værdi der står i filen. Men jeg har ingen ide til hvordan det gøres.

--
Thomas

Som sagt kan det være letere at bruge INI filer, til dette anbefaler jeg at du kigger på denne artikkel:
http://www.udvikleren.dk/show_article.php?id=107
<br>
Men det var jo ikke helt det du bad om, det kommer her:
(Kraftigt inspireret af hjælp filen)
<pre>
function ReadFile(Filename: String): String;
var
F: file;
Size: Integer;
Buffer: PChar;
begin
AssignFile(F, Filename);
Reset(F, 1);
try
Size := FileSize(F);
GetMem(Buffer, Size);
try
BlockRead(F, Buffer^, Size);
Result := Buffer;
finally
FreeMem(Buffer);
end;
finally
CloseFile(F);
end;
end;
</pre>
Så skal du bare bruge noget kode så som dette:
<pre>
Var
myString: String;
Begin
myString := ReadFile('dit-filnavn');
If myString = 'off' Then
Begin
//....
End;
End;
</pre>

Håber det kan bruges!

Mvh,

Thomas Nielsen



User
Bruger #812 @ 23.11.02 12:23
Det er nok lettest at bruge en INI fil.

Ja, men jeg havde håbet det var muligt uden en ini-fil. Alternativet er st jeg kan læse filen ind i en TMemo og så hive det jeg skal bruge ud der fra.

--
Thomas



User
Bruger #812 @ 23.11.02 13:31
Men det var jo ikke helt det du bad om, det kommer her:
(Kraftigt inspireret af hjælp filen)
>KLIP<
Thomas Nielsen

Jeg kan ikke rigtigt få det til at virke, men hvis du kan komme med et eksempel på at læse C:\\test.txt, smider jeg da gerne et par UP ekstra oven i hatten

--
Thomas



t