06. maj 2002 - 20:41Der er
8 kommentarer og 3 løsninger
String? eller hvad
Jeg sidder og laver et program som kan redigere i en httpd.conf fil (apache)
Jeg vil gerne lave nogle forskellige muligheder som f.eks. :
ServerRoot "C:/apache/Apache2" ( hvordan smidder jeg serverRoot ned i filen, og tilføjer stien til apache via f.eks. en tmemo eller en tedit? nogen ide?
Altså skal programmet smidde nogle ting der allerede står i conf filen der ned, og så nogle bruger inputs, som f.eks. overstående eksempel med stien til apache
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis Du ikke vil bruge TStrings så kan du gøre sådan :
VAR F : TextFile; begin AssigFile(F,'Hest.txt'); Reset(F); // Append(); Rewrite(); WriteLn(F,'Heste'); WriteLn(F,'Haster'); WriteLn(F,'Slut'); CloseFile(F); end;
Det kan gøres langt enklere, og så bliver det endda vist med det samme:
begin memo1.lines.loadfromfile('hest.txt'); end;
NB: Kan give problemer hvis hver linje ikke er sluttet med \r\n = #13#10 = return, newline. Men da giver readln så vidt jeg husker også problemer. Så skal man til at søge igennem strengen for at indsætte det manglede tegn. Det er ikke almindeligt i alm tekst filer, men nogle programmer gør det.
Dette er et eksempel på en læsning af en fil til et TMemo-felt:
procedure TForm1.Button1Click(Sender: TObject); var f : file; buf : array [1..1024] of char; i, len, BytesRead : integer; str : string; begin assignfile(f,'c:\tv.txt'); reset(f,1); BytesRead:=0; len:=sizeof(buf); str:=''; blockread(f,buf,len,BytesRead); while BytesRead=len do begin str:=str+buf; blockread(f,buf,len,BytesRead); end; str:=str+copy(buf,1,BytesRead); memo1.text:=str; closefile(f); end;
JensB >> Ok, tak for korrekturen. Det skal nok passe. Det er længe siden, men sidst jeg arbejdede med Tmemo var faktisk i win98, men der havde jeg ganske rigtigt problemet.
procedure TForm1.FormCreate(sender: TObject); begin memo1.lines.loadfromfile('C:/apache/Apache2/httpd.conf'); end;
procedure TForm1.Button1Click(sender: TObject); var s : string; begin s := edit1.text; memo1.lines.add(s); memo1.lines.savetofile('C:/apache/Apache2/httpd.conf'); end;
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.