AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

html-Kommentare als ComboBox Items

Ein Thema von samarek · begonnen am 18. Sep 2009 · letzter Beitrag vom 19. Sep 2009
Antwort Antwort
Seite 1 von 2  1 2      
samarek

Registriert seit: 5. Jul 2009
8 Beiträge
 
Delphi 2005 Personal
 
#1

html-Kommentare als ComboBox Items

  Alt 18. Sep 2009, 23:51
Hallo zusammen,
also, nach meinem ersten Kinderkram-Post hier jetzt mal ein, wie ich finde, etwas schweres Kaliber

Ich möchte ein html Dokument nach Kommentaren durchsuchen und den Inhalt der Kommentare als Items in eine ComboBox einsetzen

Das wesentliche Problem hierbei ist das arbeiten mit Strings, die html-Kommentare sind immer als und in einzelne Zeilen geschrieben, lassen sich also schön als Stringliste einlesen und ausgeben.
Aber ich möchte natürlich nur das "blabla" in der ComboBox haben und natürlich auch nur jeweils einmal pro Kommentar-Paar, also muss ich irgendwie innerhalb der Strings arbeiten können, was ICH so erstmal nicht kann (klar dass das in Delphi geht, aber ich weiss halt nicht wie)
also will ich die ersten 4 Zeichen und die letzten 10 Zeichen wegschmeissen, dann nachschauen wo sich der verbleibende Inhalt (also das blabla) wiederholt und den String komplett aus der Stringlist löschen, so dass am Ende eine Stringlist voller blabla übrig bleibt, die ich dann zeilenweise in die Items der ComboBox einsortieren kann, das dürfte dann der leichtere Part sein.

Wär gut wenn mich da jemand mal auf die richtige Fährte bringen könnte.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: html-Kommentare als ComboBox Items

  Alt 18. Sep 2009, 23:53
Stcihwörter: pos, copy.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
samarek

Registriert seit: 5. Jul 2009
8 Beiträge
 
Delphi 2005 Personal
 
#3

Re: html-Kommentare als ComboBox Items

  Alt 19. Sep 2009, 00:14
Das Universum liegt wohl weiterhin in Führung ...

könnt ich die Antwort bitte etwas deutlicher bekommen???

nichtsdestotrotz, danke das war echt ne fixe Antwort
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: html-Kommentare als ComboBox Items

  Alt 19. Sep 2009, 00:48
Mit Pos bzw. PosEx die Markierungen "" suchen und via Copy und etwas Mathematik das Dazwischenliegende rauskopieren.

Man könnte es aber über RegEx (regular expressions) versuchen.
> http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: html-Kommentare als ComboBox Items

  Alt 19. Sep 2009, 01:59
Schlag die Funktionen mal in der Hilfe nach.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
samarek

Registriert seit: 5. Jul 2009
8 Beiträge
 
Delphi 2005 Personal
 
#6

Re: html-Kommentare als ComboBox Items

  Alt 19. Sep 2009, 02:39
hmmm ... aber wäre es denn nicht einfacher das so zu machen wie ich es oben beschrieben habe
das ganze html ding in eine Stringliste laden und die dann entsprechend zurecht stutzen?????

es gibt doch auch substrings in delphi, oder?

dass das progi halt die stringlist durchgeht in jeder zeile nach den ersten 4 zeichen guckt und wenn die '<!--' sind werden die gelöscht und die letzten 10 auch, dann wird der rest in eine stringvariable geschrieben, jede zeile gelöscht bis die ersten 4 zeichen wieder '<!--' sind, dann wieder löschen, sehen ob die ersten zeichen jetzt mit der variablen identisch sind, wenn ja die ganze zeile löschen und dann wieder von vorne
und am ende bleibt dann eine stringliste übrig mit den strings die ich haben will und die kann ich dann einfach in die combobox schreiben

ich meine, im prinzip hab ich keine ahnung, delphi ist halt nur ein hobby von mir, aber wäre das so nicht einfacher???

ich find die hilfe von Delphi2005PE schrecklich, hab schon überlegt mir wieder Delphi5 drauf zu machen weil die Hilfe da deutlich besser war
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: html-Kommentare als ComboBox Items

  Alt 19. Sep 2009, 08:54
Hallo,

im Endeffekt machst du mit Pos bzw. PosEx und Copy nichts anderes. Du suchst nach deinen Kommentar-Zeichen und kopierst das dazwischen heraus.
Das ist weniger Aufwand als manuell mit einer Schleife nach den 4 aufeinander folgenden Zeichen zu suchen und den Rest zu entfernen. Denn Pos/PosEx suchen dir die Position eines kompletten Strings, ohne dass du das manuell machen musst.

Wenn du die ersten Positionen von "" bsp. in 2 Variablen hast, kannst du, wie himitsu schrieb, das dazwischen mit Copy heraus kopieren. Mit PosEx suchst du dann die nächsten Vorkommen von "" und kopierst das dazwischen wieder heraus. Das Ganze ist natürlich auch mit einer While-Schleife kombinierbar.
  Mit Zitat antworten Zitat
samarek

Registriert seit: 5. Jul 2009
8 Beiträge
 
Delphi 2005 Personal
 
#8

Re: html-Kommentare als ComboBox Items

  Alt 19. Sep 2009, 12:43
OK
aber irgendwie versteh ich es immer noch nicht so ganz
wie benutze ich den Pos oder PosEx jetzt um eine Stringlist nach den Strings zu durchsuchen die ich brauche
kann ich da mal bitte ein Syntaxbeispiel bekommen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: html-Kommentare als ComboBox Items

  Alt 19. Sep 2009, 12:45
StringList.Text in einen String auslesen dort bearbeiten und notfalls wieder zurückspeichern
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

Re: html-Kommentare als ComboBox Items

  Alt 19. Sep 2009, 14:35
Also du müsstest dir doch erstmal überlegen was du machen möchtest Nagut "Kommentare raussuchen" könnte man sagen. Aber das ist ja etwas zu "unspezifisch". Stattdessen suchst du nach einem Kommentaranfang () und willst das dazwischen herausholen.
Wenn wir jetzt unser html-Dokument in einem string speichern (meinetwegen auch in einer TStringList. Aber so richtig was "bringen" tut es dir nichts).
Delphi-Quellcode:
var
  htmlcontent : string;
begin
  htmlcontent := '<html><head><titel>Willkommen!</title>' + #13#10 {ein Zeilenumbruch ;) } + '</head><body>' + #13#10 + 'Hallo Welt</body></html>';
Du kannst das wie gesagt auch in einer TStringList speichern. Als nächstes suchen wir dann nach einem Kommentaranfang mithilfe von Delphi-Referenz durchsuchenPos, bzw. Delphi-Referenz durchsuchenPosEx. Was diese Funktionen machen steht in der Hilfe. Und je nachdem wie du es letzendlich einbaust brauchst du PosEx oder kannst bei Pos bleiben.

Dann speicherst du dir wo das Kommentar beginnt (in diesem Fall das 13. Zeichen). Dann suchst du nach dem Ende des Kommentars. Das sollte dann das 45. Zeichen angeben. Jetzt musst du nur den Inhalt mithilfe von Delphi-Referenz durchsuchenCopy heraus kopieren.

Nachdem du das erste Kommentar jetzt gefunden hast bieten sich zwei Möglichkeiten an. Entweder du entfernst jetzt aus deinem String alles bis zum Kommentarende und suchst dann vom neuen. Oder du lässt erst nach dem Kommentarende anfangen zu suchen. Bei erstem brauchst du Delphi-Referenz durchsuchenDelete und beim letzeren Fall musst du dann auf Delphi-Referenz durchsuchenPosEx zurückgreifen. Ich würde zweiteres nehmen, da ich damit den String nicht verändern muss.

Auf jedenfall kannst du das dann solange machen bis Pos kein Kommentaranfang mehr findet.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz