Avatar billede mora Nybegynder
27. juni 2001 - 20:20 Der er 16 kommentarer og
1 løsning

Body start på mail

Hvordan finder jeg ud af om memo1.lines[i] er afslutning på en mail header ?

I PHP:     if(substr($str, 0, 2) == chr(13).chr(10)){

Men det virker ikke i delphi.
        if copy(memo1.lines[i],0,2)=\'chr(13).chr(10)\'
Avatar billede Lasse Novice
27. juni 2001 - 20:34 #1
skal du ikke == istedet for =
Avatar billede Lasse Novice
27. juni 2001 - 20:37 #2
også hedder det vist også chr(13) & chr(10)
Avatar billede Lasse Novice
27. juni 2001 - 20:38 #3
istedet for \'chr(13).chr(10)\'
Avatar billede martinlind Nybegynder
27. juni 2001 - 20:52 #4
if copy(memo1.lines[i],0,2) = #10#13 then
Avatar billede pstric Nybegynder
27. juni 2001 - 20:52 #5
Det er næsten rigtigt:

if Copy(Memo1.Lines[i], 0, 2) = #10#13 then
Avatar billede pstric Nybegynder
27. juni 2001 - 20:53 #6
Det var naturligvis ikke en kommentar til dit svar, martinlind ;-)
Avatar billede Lasse Novice
27. juni 2001 - 21:19 #7
ahhh, nu fatter jeg hvad du vil... carriage return, line feed...

ahhh...
Avatar billede martinlind Nybegynder
27. juni 2001 - 21:24 #8
pstric >> Damm, du må få dig en ADSL line *G*
Avatar billede mora Nybegynder
27. juni 2001 - 21:36 #9
Virker ikke ...

for i:=0 to form1.memo1.lines.count-1 do
begin
        if copy(form1.memo1.lines[i],0,5)=\'FROM:\' then
                fra:=copy(form1.memo1.lines[i],7,99);

        if bodyfound=1 then
        body:=body+\'_-_\'+form1.memo1.lines[i];

        if Copy(form1.Memo1.Lines[i], 0, 2) = #10#13 then
        bodyfound:=1;

        end;

form1.memo2.lines.add(\'(\'+fra+\') \'+body);
Avatar billede martinlind Nybegynder
27. juni 2001 - 21:39 #10
Og ??
Avatar billede martinlind Nybegynder
27. juni 2001 - 21:40 #11
Hvis det er strenge du skal finde, så prøv pos()

if Pos(#10#13,aStrx) = 1 then
begin
end;
if Pos(\'FROM:\',aStrx) = <> 0 then
begin
end;
Avatar billede mora Nybegynder
27. juni 2001 - 22:09 #12
FROM virker fint nok..

if Pos(#10#13,form1.memo1.lines[i]) = 1 then
        begin
                bodyfound:=1;
        end;

Den virker ikke, bodyfound bliver ikke ændret til 1
Avatar billede mora Nybegynder
27. juni 2001 - 22:36 #13
Fandt fejlen...
memo starter ved 0, ikke 1 :)
Avatar billede torbenkoch Nybegynder
27. juni 2001 - 22:39 #14
Nu er det sådan, at du aldrig vil finde #13#10 i linjerne i en memo, da de automatisk vil blive fortolket som et linjeskift (meget naturligt) og memo-dimsen vil derfor bare fortsætte på næste linje.

Så hvis du vil undersøge, om de to første karakterer i en linje er #13#10, så skal du ganske simpelt bare undersøge om linjen er tom!

if (form1.memo1.lines[i] = \'\') then
begin
  bodyfound := 1;
end;

eller:

if (length(form1.memo1.lines[i]) = 0) then
begin
  bodyfound := 1;
end;

Avatar billede torbenkoch Nybegynder
27. juni 2001 - 22:41 #15
Hmmm - betyder det så, at jeg ikke har ret?? Træls! Nåh ja, man bliver jo klogere hver dag!

Når du siger, at memo starter ved 0, hvad mener du så. I det eksempel ovenover begynder du jo ved 0!
Avatar billede mora Nybegynder
27. juni 2001 - 22:44 #16
hmm, den trigger for tidligt ...

faktisk allerede ved linje 2 :(
Avatar billede mora Nybegynder
27. juni 2001 - 22:46 #17
Torbenkoch: Takker :)
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