Autor Beitrag
tmkb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Mi 01.01.03 17:37 
Hallo,

Ich habe folgendes vor: Wenn man auf button1 drückt, sucht er sich in memo1 alle IPs (weiß nicht wie man die am besten auslesen kann!) und schreibt die dann in dem Format in memo2:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  127.0.0.1

  127.0.0.1

  127.0.0.1

  127.0.0.1

  usw

(also immer ne freie zeile zwischen jeder IP und vor jeder ip zwei leerstellen)

Zur Info: Die IPs in memo1 sind immer woanderst, ich kann also nicht sagen "Zeile 1 von stelle 1 bis 7" oder so. außerdem sind immer verschieden viele IPs in memo1. Kann mir da irgendjemand aushelfen und mir wenns möglich wäre einen relativ leicht verständlichen Code geben? Ich krieg das nämlich nicht hin, ist nicht ganz meine kragenweite...
danke schon im vorraus!
cu,
tmkb[/code]
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 01.01.03 19:58 
was ist denn das für ein text, in dem die IPs vorkommen ?? ist das ein HTML quelltext, denn dann kann man den z.b. sehr einfach nach hyperlinks durchsuchen !

_________________
In the beginning was the word.
And the word was content-type: text/plain.
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Mi 01.01.03 20:52 
nein, es ist mehr eine Logdatei in dem Format:


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Command Beginning
127.0.0.1 Listening on Port 21
127.0.0.6 Listening on Port 21
127.0.0.12 Listening on Port 21
Command End

Command Beginning
127.0.0.45 Listening on Port 21
127.0.0.68 Listening on Port 21
127.0.0.2 Listening on Port 21
127.0.0.88 Listening on Port 21
Command End

usw.
Sledge_Hammer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32

Win 98 SE, Win XP
D7 Prof
BeitragVerfasst: Mi 01.01.03 22:05 
Moin
Also ich weiß nicht ob das nun das Beste ist was man machen kann, aber ich würde über prüfen, ob das erste Zeichen in der Zeile eine Zahl ist und dann würde ich alles in einem String speichern bis das erste Leerzeichen kommt, also die IP zuende ist.
kampfkoloss23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 96



BeitragVerfasst: Mi 01.01.03 22:10 
ist doch ganz einfach, zwar ein bißchen Arbeit. Mach doch ne Einfache if Abfrage. En schnelleren Weg weiß ich leider auch nicht. Schau dir die Stellen einzeln an und mach halt immer ne if Abfrag.

charakeristisch für die Ip ist z.B, dass drei Punkte max. 3 Stellen jeweils auseinander sind also:

Jedes zeichen einzeln auslesen mit copy(memo1.text,f,g);

Falls '.', dann überprüfen, ob noch 2 Punkte da, wenn ja, dann Teil kopieren von Leerstelle davor bis dahinter ist zwar en bißchen Arbeit, aber die genauen Befehle für das auslesen z.B copy findest du in der Delphi Hilfe
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.01.03 22:47 
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
  s : String;
  iZeichen : Integer;
begin
  for i := 0 to Memo1.Lines.Count-1 do
  begin
    s := Memo1.Lines.Strings[i];
    if s = '' then
      continue;
    ShowMessage(s);
    iZeichen := StrToIntDef(s[1], -1);
    if iZeichen = -1 then
      continue;
    if iZeichen in [0..9] then
      s := copy(s, 0, pos(' ', s));
    ListBox1.Items.Add(s);
  end;
end;
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Do 02.01.03 01:44 
danke, klappt!