AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Eingelesene Zeile wird vorzeitig abgetrennt
Thema durchsuchen
Ansicht
Themen-Optionen

Eingelesene Zeile wird vorzeitig abgetrennt

Ein Thema von Ajintaro · begonnen am 16. Mai 2014 · letzter Beitrag vom 16. Mai 2014
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Eingelesene Zeile wird vorzeitig abgetrennt

  Alt 16. Mai 2014, 12:42
Mal so als doofe Frage dahin gestellt:

Das ist doch eine HTML?
Warum liest du die dann nicht nichs als HTML ein und läßt ein HTML-DOM die Arbeit machen?

(falls es valides XHTML ist, dann kann man das natürlich auch als XML einlesen)

Zitat:
An einem Linefeed ?
Keine Ahnung?
Schau doch mal in deinen String/Text, ob sich dort zufällig ein Zeilenumbruch im HTML befindet.

Nja, wobei Lines natürlich bei jedem Zeilenumbruch eine neue Zeile auf macht.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (16. Mai 2014 um 12:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#2

AW: Eingelesene Zeile wird vorzeitig abgetrennt

  Alt 16. Mai 2014, 12:55
Mal so als doofe Frage dahin gestellt:

Das ist doch eine HTML?
Warum liest du die dann nicht nichs als HTML ein und läßt ein HTML-DOM die Arbeit machen?
Es ist HTML, aber ich habe keine Erfahrung im Umgang mit HTML-DOM und wie es mir helfen könnte.
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Eingelesene Zeile wird vorzeitig abgetrennt

  Alt 16. Mai 2014, 13:01
Das ist wie ein XML-DOM ala MSDN-Library durchsuchenIXMLDocument, bzw. Delphi-Referenz durchsuchenTXMLDocument.

Das sind Klassen/Komponenten, welche den Text parsen, ihn in eine Klassenstruktur zerlegen und einem dann einen einfachen Zugriff auf die Dateninhalte bieten. Und dazu oftmals noch mit Funktionen zum Suchen.
Also wie JavaScript (oder bei den Browserkomponenten), wo man direkt auf die Elemente der HTML-Datei zugreifen kann.

Das DOM weiß wie die Datenstruktur aufgebaut ist und zerlegt Diese dann natürlich "richtig".
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#4

AW: Eingelesene Zeile wird vorzeitig abgetrennt

  Alt 16. Mai 2014, 13:37
Ich habe gerade festgestellt, dass meine Prozedur wirklich die Zeilenumbrüche überspringt ! Mein Abbruchkriterium (lies die Zeile ein bis du </tr> findest) wird niemals erfüllt, da vorher ein Zeilenumbruch erfolgt. Ergo liest die Prozedur auch nur bis zum Zeilenumbruch ein und übergeht den Rest bis zum erneuten Auftreten von RNID= usw.

Ich versuche das nun umzubasteln. Folgendes müsste theoretisch funktionieren:

1. RichEdit Zeilenweise untersuchen auf RNID=
2. Nach gefundener RNID Zeilen weiter absuchen nach bis zum Auffinden von </tr>

Damit habe ich eine Tabellenzeile (aber mehrere RichEdit-Zeilen) abgesucht.
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat
Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#5

AW: Eingelesene Zeile wird vorzeitig abgetrennt

  Alt 16. Mai 2014, 14:29
Ich habs gelöst:

Delphi-Quellcode:
procedure TFmain.Button10Click(Sender: TObject);
var i,y,p, startpos:integer;
    s,zeile, rnid:string;
begin
 ListBox1.Clear;
 for i := 0 to RichEdit1.Lines.Count - 1 do
  begin
    //RichEdit Zeilenweise absuchen
    if Pos('RNID=', RichEdit1.Lines.Strings[i]) > 0 then
    begin
      //Zeile mit RNID gefunden
      rnid := getElementValue(RichEdit1.Lines.Strings[i],'RNID=','&',1); //RNID herauslösen
    end
    else
    begin
       if rnid <> 'then
       begin
         //nur bei gefundener ID nach J-Ticket suchen
         for y := 0 to listbox_jira.Count-1 do
         begin
           //die ganze box durchgehen...
           startpos := Pos (listbox_jira.Items[y], RichEdit1.Lines.Strings[i]);
           if (startpos > 0) then
             begin
               Listbox1.Items.Add('JIRA: '+listbox_jira.Items[y]+' entspricht IR: '+rnid);
             end;
         end;
       end;
    end;
  end;
  //Ergebnis
  if ListBox1.Items.Count > 0 then
    label1.Caption := IntToStr(ListBox1.Items.Count) +
      ' IRs gefunden.'
  else
    label1.Caption := 'Keine IRs gefunden.';
end;
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz