Avatar billede monie Nybegynder
31. marts 2004 - 07:35 Der er 17 kommentarer og
2 løsninger

Konvertering tekstkoderne ISO 8859-1

Hej

Nedstående procedure konstrueret virker fint.

Med tekst koderne ISO 8859-1 Se her: www.html.dk/dokumentation/tegn/iso.asp
Som du kan se, har alle tegn en korresponderende nummerisk værdi.
Lille a er 97, stort B er 66 osv.
Disse kan skrives til skærmen ved hjælp af følgende syntaks: a og B osv.
Den procedure herunder, kan den laves om til, at konverter så resultatet bliver
som eksempel her:
Mail@sunwind.dk = :mail@domain.dk
Lige til, at ligge ud på sin hjemmeside uden at Spamrobotterne kan læse koden og man undgår alt det udønsket post!

Den færdige HTML-kode:
<a href="mailto:&#109;&#97;&#105;&#108;&#64;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#100;&#107;">
E-mail Klik her!</a>


Konvertere:
procedure TForm1.Button1Click(Sender: TObject);
var
  idx : integer;
  str : String;
  txt : String;
begin
  str := '';
  txt := UpperCase(edit1.text);
  for idx := 1 to length(txt) do
    str := str + Format('%.2d', [Ord(txt[idx]) - 64]);
    idx := 5;
  while idx < length(str) do
  begin
    insert(' ', str, idx);
    inc(idx, 5);
  end;
  label1.Caption := str;
end;

Hører meget gerne fra dig, da jeg har arbejde meget på denne funktion.
Se min brugerflade på Antispam program: www.sunwind.dk/brugerflade.jpg

Med venlig hilsen
Monie Jacobsen

E-mail: mjs at nypost dot dk
Avatar billede borrisholt Novice
31. marts 2004 - 08:15 #1
JEg forstår slet ikek hvad dit problem er :-)

Jens B
Avatar billede borrisholt Novice
31. marts 2004 - 08:15 #2
Eller rettere hvad du behøver hjælp til

Jens B
Avatar billede monie Nybegynder
31. marts 2004 - 08:35 #3
Til at koderne ISO 8859-1 i procedure TForm1.Button1Click(Sender: TObject);
kan behandle koden
Avatar billede borrisholt Novice
31. marts 2004 - 08:37 #4
Du vil altså kune decode
:&#109;&#97;&#105;&#108;&#64;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#100;&#107; til "almindelig" tekst ?

Jens B
Avatar billede monie Nybegynder
31. marts 2004 - 08:47 #5
Ved at kører
Konvertere:
procedure TForm1.Button1Click(Sender: TObject);

Indskrives der i Edit1 "mailnavn" og i Edit2 "domain.sk"

Som den funger nu, benyttes konverteren til almindelige tekst-koder jeg ønsker ISO 8859-1
Mvh
Monie Jacobsen
Avatar billede borrisholt Novice
31. marts 2004 - 08:55 #6
Jeg er stadig HELT lost !!!

Vil du :
A)
  Lave en Encoder (Alm Text til ISO 8859-1)
B)
  Lave en Decoder (ISO 8859-1 til Alm text)
C)
  både A og B

Jens B
Avatar billede monie Nybegynder
31. marts 2004 - 09:07 #7
Undskyld det er svær at skrive så der ikker opstår misforståelse.
Der er A) der ønskes.

Således at det email navn, der er indskrevet i Edit1 med almindelig tekst
konverteres om til ISO 8859-1

Mvh
Monie Jacobsen
Avatar billede borrisholt Novice
31. marts 2004 - 09:14 #8
prøv det her :

function ISOEncode(const Value: string): string;
var
  i: Integer;
begin
  Result := '';
  for i := 1 to Length(Value) do
    Result := Result + '&#' + IntToStr(ord(Value[i])) + ';';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit2.Text := ISOEncode(Edit1.Text);
end;


Jens B
Avatar billede monie Nybegynder
31. marts 2004 - 09:26 #9
Tak Jens B
Må jeg godt lige afprøve din kode, for så sener, at vende tilbage og give dig point.

Med venlig hilse
Monie Jacobsen
Avatar billede monie Nybegynder
31. marts 2004 - 10:20 #10
Hej Jens B

Nej, hvor det virkede, den funktion du lavede.
Allerstiders TAK. Har ellers arbejde meget på dette.
Må jeg ikke havde lov til, at sille et tillægspørgamål?

Hvordan laves følgende forslag?
Edit1  Edit2  Edit3
<Mail>@<Domain>.<dk>

Indsættes i HTML-koden med StringReplace?
Mail:
Memo1.text:=StringReplace(Edit1.Text, '<Mail>', Mail, [rfReplaceAll, rfIgnoreCase]);
Domain:
Memo1.text:=StringReplace(Edit2.text, '<Domain>', Domain, [rfReplaceAll, rfIgnoreCase]);
dk:
Memo1.text:=StringReplace(Edit3.Text, '<Dk>', Dk, [rfReplaceAll, rfIgnoreCase]);

HTML-kode udskrives Memo1.
<a href="mailto:<Mail>@<Domain>.<dk>">
E-mail Klik her!</a>

Vil du hjælpe mig med ovenstående?
Med venlig hilsen
Monie Jacobsen
Avatar billede borrisholt Novice
31. marts 2004 - 10:31 #11
function ISOEncode(const Value: string): string;
var
  i: Integer;
begin
  Result := '';
  for i := 1 to Length(Value) do
    Result := Result + '&#' + IntToStr(ord(Value[i])) + ';';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  User, Domain, TopDomain: string;
begin
  Memo1.Lines.Text := '<a href="mailto:<Mail>@<Domain>.<dk>">';
  User := ISOEncode(Edit1.Text);
  Domain := ISOEncode(Edit2.Text);
  TopDomain := ISOEncode(Edit3.Text);
  Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, '<Mail>', User, [rfIgnoreCase]);
  Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, '<Domain>', User, [rfIgnoreCase]);
  Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, '<dk>', TopDomain, [rfIgnoreCase]);
end;


Jens B
Avatar billede monie Nybegynder
31. marts 2004 - 10:50 #12
Hej Jens B

Mange tak.
Jeg er mundlam, det virker bare.
Mange, mange tak.

Sig lige om du har fået dine point.
Dem ville jeg helt sikker gerne, ville havde give dig flere af, for din hjælp, hvist jeg havde flerer.

Med venlig hilsen
Monie Jacobsen
Avatar billede borrisholt Novice
31. marts 2004 - 10:52 #13
Du skal acceptere mit svar før jeg får points.

Jens B
Avatar billede monie Nybegynder
31. marts 2004 - 11:01 #14
Fik du dine point nu?
Avatar billede borrisholt Novice
31. marts 2004 - 11:04 #15
YEP
Avatar billede monie Nybegynder
31. marts 2004 - 11:12 #16
Hvis det er muligt.
Så vedlæg venligst dit telefon nummer, til mig på e-mail: mjs at nypost dot dk
Jeg har noget jeg vil spørger dig om?
Med venlig hilsen
Monie Jacobsen
Avatar billede borrisholt Novice
31. marts 2004 - 11:15 #17
Jeg udlevere ikke i udgangspunktet ikke mit telefonnummer, ikke at det er svært at finde. Hvis jeg udleverede det kunne jeg ikke lave andet end at suppotere folk og fæ fra Eksperten.

Men du må meget gerne skrive til mig : Jens @ Borrisholt.com

Jens B
Avatar billede borrisholt Novice
02. april 2004 - 08:27 #18
monie>>Jeg har hart lidt mail problemer, så du kan resikere at din mail er blevet afvist. Så hvis du har skrevet til mig, må du lige skrive igen.

Jens B
Avatar billede monie Nybegynder
02. april 2004 - 09:17 #19
Hej Jens B
Hvad går der er galt her?

Jeg skal kører proceduren Replay 2 gange for, at få Nick Name ændret,
de andre ændre sig ved første gennemkørsel.

procedure TForm1.replayClick(Sender: TObject);
Var
i: Integer;
begin
For i := 0 to Memo1.lines.count -1 do begin
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<First Name>',FirstName, [rfReplaceAll, rfIgnoreCase]);
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<Last Name>',LastName, [rfReplaceAll, rfIgnoreCase]);
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<Nick Name>',NickName, [rfReplaceAll, rfIgnoreCase]);
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<Mother Name>',MotherName, [rfReplaceAll, rfIgnoreCase]);
RichEdit1.Lines.Add(Memo1.lines[i]);
end;
end;


Historiebogien her som er skrevet som "bog.txt" som indlæses

if OpenDialog1.Execute then

  Memo1.Lines.LoadFromFile(OpenDialog1.FileName)


Her er "bog.txt" (Test)

<Father Name> ønskede <Mother Name> tilykke med fødselsdagsbogen i dag.
<Mother Name> var glad og <Nick Name>, som var hans kællenavn.

Med venlig hilsen

<First Name> <Last Name>
**End

Ps:Sender en e-mail til dig1
Med venlig hilsen
Monie Jacobsen
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