Autor Beitrag
Scipio Africanus
Hält's aus hier
Beiträge: 6

Windows XP SP2, SuSe 9.2, Kubuntu 6.06, Fedora Core 5
Delphi 7
BeitragVerfasst: Di 10.10.06 19:53 
Ok, ich bin ganz neu und ein n00b, also seid bitte gnädig!

Folgendes ist die Problematik und ich brauche einen Denkanstoß:
Ich möchte in einem Memo aus Listen mit verschiedener Formatierung wie in folgendem Beispiel nur die Domains auslesen und die Nummerierung usw. verwerfen:

Zitat:
1 AR-RUUN.COM.
2 AUSTRALIANINVESTMENTGUIDE.COM.
3 BAGANTHU.COM.
4 BUNBURYCRICKETCENTRE.COM.
5 BUSHWEEK.NET.
6 CASLIE.COM.
7 CNC-EZ.COM.
8 DE-RESOURCE.COM.
9 ELEGANTZOMBIES.COM.
10 EQUILIBRIUMHR.COM.


und

Zitat:
1. capitaltoday.com 0 listings 0 listings
2. doughtown.com 0 listings 0 listings
3. helpsuzanne.com 0 listings 0 listings
4. chicagoartbrigade.com 0 listings 0 listings
5. familytravelandtour.com 0 listings 0 listings
6. balticamericas.com 0 listings 0 listings
7. 4afl.com 0 listings 0 listings
8. himatexpress.net 0 listings 0 listings
9. canonacademy.com 0 listings 0 listings


Das Ergebnis soll dann so aussehen:

Zitat:
AR-RUUN.COM
AUSTRALIANINVESTMENTGUIDE.COM
BAGANTHU.COM
BUNBURYCRICKETCENTRE.COM
BUSHWEEK.NET
CASLIE.COM
CNC-EZ.COM
DE-RESOURCE.COM
ELEGANTZOMBIES.COM
EQUILIBRIUMHR.COM
capitaltoday.com
doughtown.com
helpsuzanne.com
chicagoartbrigade.com
familytravelandtour.com
balticamericas.com
4afl.com
himatexpress.net
canonacademy.com


Das stammt aus Reverse IP lookups und ich möchte wie gesagt nur die Domains (eine pro Zeile) am Schluß noch übrig haben.
Kann mir jemand einen Denkanstoß geben?


Moderiert von user profile iconChristian S.: Topic aus Dateizugriff verschoben am Di 10.10.2006 um 20:54
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Di 10.10.06 20:34 
Schau mal nach den Routinen Pos und Copy, die helfen dir weiter. ;)

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
Scipio Africanus Threadstarter
Hält's aus hier
Beiträge: 6

Windows XP SP2, SuSe 9.2, Kubuntu 6.06, Fedora Core 5
Delphi 7
BeitragVerfasst: Di 10.10.06 20:52 
Ja, POS und COPY hatte ich in anderen Threads bereits gefunden, aber ich habe nicht wirklich gesehen, wie die mir bei der Lösung meines speziellen Problems weiterhelfen sollen. Ich weiß, dass man die zur Suche nach Teilstrings verwenden kann, aber ich suche einen Denkanstoß was die logische Herangehensweise betrifft. Mein Problem ist, dass ich in dem Moment in dem ich suche den gesuchten Teilstring ja noch garnicht genau definieren kann! Ich muss halt irgendwie 'aadsdfhsb.yyy' finden. Es könnte aber auch "wef332dsd.xx" sein. Einmal ist davor und danach ein "blank", beim anderen Mal davor ein "blank" und danach ein'.'.
Ich schaue mir POS und COPY auch gerne nochmal an, aber ich dachte, dass da vielleicht einer eine elegante Lösung im Ärmel hat.
Ich suche keine fertig gecodete Lösung, einfach nur jemand der mal "die Lampe anknipst". :wink:
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Di 10.10.06 20:57 
Kommt nach dem Domänennamen immer eine Leerzeichen? Dann brauchst duz ja nur dach dem duchen.

_________________
Markus Kinzler.
Scipio Africanus Threadstarter
Hält's aus hier
Beiträge: 6

Windows XP SP2, SuSe 9.2, Kubuntu 6.06, Fedora Core 5
Delphi 7
BeitragVerfasst: Di 10.10.06 20:59 
Mal ein Leerzeichen, mal ein Punkt. Aber es kann auch anderswo im Text ein Leerzeichen oder ein Punkt auftauchen, es ist also kein eindeutiges Indiz.
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Di 10.10.06 21:13 
Wenn später noch mehrere Lerrzeichen kommen würde, waäre ja egal, da ja nur das erste interessiert. In deinem Beispiel waren die Einträge alle in der Form <url><blank><Rest>, dann wäre es einfach gewesen.

_________________
Markus Kinzler.
Scipio Africanus Threadstarter
Hält's aus hier
Beiträge: 6

Windows XP SP2, SuSe 9.2, Kubuntu 6.06, Fedora Core 5
Delphi 7
BeitragVerfasst: Di 10.10.06 21:21 
Nicht ganz. Es ist in folgendem Format:
[Zahl][Punkt][Blank(s)][Domainname][Blank][wasfüreinrestauchimmer]
oder
[Zahl][Blank(s)][Domainname][Punkt]
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Mi 11.10.06 13:02 
user profile iconScipio Africanus hat folgendes geschrieben:
Nicht ganz. Es ist in folgendem Format:
[Zahl][Punkt][Blank(s)][Domainname][Blank][wasfüreinrestauchimmer]
oder
[Zahl][Blank(s)][Domainname][Punkt]


Hallo,
probier mal (UNGETESTET, nur zusammengehackt):

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
function FindNextWord (SStr : string; var start : integer) : string;
var wstart,wend,sl,fl : integer;
begin
Result := '';
l := Length (SStr);
wstart := start;
while (wstart <= l) and (SStr[wstart] = ' ') do wstart := wstart + 1;
wend := wstart;
while (wend <= l) and (SStr[wend] <> ' ') do wend := wend + 1;
fl := wend + 1 - wstart;
if fl > 0 then
  begin
  Result := Copy (SStr,wstart,f1);
  start := wend + 1;
  end
else start := 0;
end;

function FindDomain (DStr : string) : string;
var IsDomain : boolean;
    DStrPos,NWLength : integer;
    NextWord : string;
begin
Result := '';
IsDomain := false;
DStrPos := 1;
repeat
  NextWord := FindNextWord (DStr,DStrPos);
  NWLength := Length (NextWord);
  if NWLength > 0 then
    if Pos ('.',NextWord) < NWLength then IsDomain := true;
until IsDomain or DStrPos = 0;
if IsDomain then Result := NextWord;
end;


Gruss Reinhard
Scipio Africanus Threadstarter
Hält's aus hier
Beiträge: 6

Windows XP SP2, SuSe 9.2, Kubuntu 6.06, Fedora Core 5
Delphi 7
BeitragVerfasst: Mi 11.10.06 17:20 
Cool, ich probier das aus. Vielen Dank für die Mühe schon mal! :)