Avatar billede del Nybegynder
25. juli 1999 - 00:54 Der er 10 kommentarer og
1 løsning

Søgning...

Hej,
nu ved jeg ikke hvor mange her er, som bare kan det der med Delphi - men jeg vover at stille spørgsmålet alligevel.

Ser I, jeg har brug for en teknik så jeg kan søge efter en linie, og slette alt inden eller efter den linie.
Altså, hvis vi siger jeg har en sådan tekst:
bla bla bla
-- start --
Hejsa
-- slut --
bla bla bla
så skal den altså slette alt optil "Hejsa", eller alt efter "Hejsa"., så bla bla bla -- start -- og -- slut -- bla bla bliver slettet.

Håber meget at der er nogen der kan/vil hjælpe mig, for jeg sidder og mangler ÅHH så meget :(

På forhånd mange tak for hjælpen.
Avatar billede smilly Nybegynder
25. juli 1999 - 01:11 #1

var str;
str:='hejsa#13blablablablablabla';

delete(str,pos(#13,str),length(str));

Håber dette hjalp...
Avatar billede smilly Nybegynder
25. juli 1999 - 01:14 #2
Husk delete returner en string

str:=delete(str,pos(#13,str),length(str));

Avatar billede smilly Nybegynder
25. juli 1999 - 01:19 #3
Okay jeg var lidt for hurtig....

var p: integer;
    line: string;
    str: string;

str:='blablablabla#13hejsa#13blablabla';
line:='hejsa';

str:=delete(str,1,pos(line, str));
str:=delete(str,pos(#13,str),length(str));


Avatar billede erikjacobsen Ekspert
25. juli 1999 - 01:30 #4
Mener du at du vil slette linier i en fil?

Det nemmeste er nok at læse filen, skrive på en kopi med
andet navn, slette den første og omdøbe den anden.
Avatar billede smilly Nybegynder
25. juli 1999 - 01:44 #5
Hvis det er fra en fil, så gør du således:

var
myfile: TStringList;
p: integer;
line: string;
str: string;
 
begin
myfile:=TStringList.Create;
myfile.LoadFromFile('fil.txt');
str:=myfile.text;

line:='hejsa';

str:=delete(str,1,pos(line, str));
str:=delete(str,pos(#13,str),length(str));

myfile.destroy;
end;
Avatar billede smilly Nybegynder
25. juli 1999 - 02:08 #6
Husk at gemme filen igen...

myfile.text:=str;
myfile.SaveToFile('fil.txt');

Indsæt disse linier før myfile.destroy;
Avatar billede del Nybegynder
25. juli 1999 - 21:39 #7
Øv! Jeg troede lige det ville virke, men den laver fejl ved følgende linie:
str:=delete(str,1,pos(line, str));
(den skriver: "Incompitable types: 'String' and 'Procedure
Avatar billede smilly Nybegynder
25. juli 1999 - 23:08 #8
Undskyld det er mig der dummer mig,
delete er en procedure så du skal
bare nøjes med

delete(str,1,pos(line, str));

og glemme tildelingen....
Avatar billede del Nybegynder
25. juli 1999 - 23:09 #9
Prøver det lige .........
Avatar billede del Nybegynder
25. juli 1999 - 23:20 #10
Jamen dog - det var lige hvad jeg stod og manglede!!

Mange mange tak, Smilly!!

- og fortsat rigtig god sommer!!
Avatar billede smilly Nybegynder
25. juli 1999 - 23:22 #11
Tak iligemåde....God programmering....
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester