09. oktober 2011 - 23:34 Der er 3 kommentarer og
1 løsning

Delphi + TWebbrowser + HTML

HEJ,

I en HTML-fil (selecttest.htm) er der EEN selectbox .

Samme selecttest.htm indlæses som LOngString // ANsiText til en TWebbrowser. Ingen problemer her.

EKS:

<HTML>
...
..
<BODY>
<select id='select1'>
</select>

.....

</html>

(Filen er MEGET forkortet.)

Problemet er, at jeg FRA ET DELPHI PROGRAM skal indlæse 4 option's med value og text til samme selectbox, således at
nettoresultatet vil se sådan ud:


<HTML>
...
..
<BODY>
<select id='select1'>
<option value='valg1'>Valgflæsk 1 </option>
<option value='valg2'>Valgflæsk 2 </option>
<option value='valg3'>Valgflæsk 3 </option>
<option value='valg4'>Valgflæsk 4</option>
</select>

.....

</html>


Hvordan gør jeg det ?

Laver jeg filen som en "færdigpakke", dvs. Select'en indeholder 4 optioner og kører programmet er der ingen problemer overhovedet, men det er ikke en option, da tekste-n/-rne kan og vil variere (sprog (dansk / norsk / svensk)) .

(Den anden vej er der ingen problemer, kan læse alle 4 tekster og også den "selectede"s korrekte Index. )

KRistian
Avatar billede Delphi_Ekspert Nybegynder
10. oktober 2011 - 00:25 #1
Hej Kristian,

Jeg plejer at gøre følgende.

1) Jeg opbygger web siden i en web editor
2) De steder i web siden som skal genereres dynamisk i programmet indsætter jeg en markering. F.eks i dit tilfælde ville jeg indsætte §valgselectbox§ så html koden kunne se sådan her ud

<HTML>
...
..
<BODY>
§valgselectbox§
.....

</html>

3) Jeg indlæser html siden i delphi f.eks i en TStringList. Herefter løber jeg alle tekstlinierne igennem og leder efter §valgselectbox§ (og evt andre markeringer). Når §valgselectbox§ er fundet erstattes markeringen med en dynamisk opbygget udgave af selectbox'en, som du opbygger i din Delphi kode.

4) Anvend resultatet fra 3) i TWebBrowser.

Venlig hilsen
Jan
www.it-konsulent.dk
10. oktober 2011 - 10:02 #2
HEJ Jan,

Tak for responsen.

Jeg har tænkt på samme løsningsemetode (omend ikke så avanceret med en TStringlist) men noget i stil med :

<BODY>
<select id='select1'>
$$var1
$$Var2
$$Var3
$$Var4
</select>

og så lade Delphi via en StringReplace (eller tilsvarende) ændre $$VAr_N til den tilsvarende option. 

Det er ikke den mest elegante Delphi løsning og vil gerne se om der kommer en (eller flere) løsning(er). Kommer der ingen forslag fåt du de 30 point.

KR
09. november 2011 - 19:36 #3
Hej Drop en kommentar, så er du 30 point rigere,,,,
23. december 2011 - 11:39 #4
lukker
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