Problem mit txt Dateien
Hallo, ich habe hier ein kleines Problem mit Textdatein und zwar steht in den Zeilen am Anfang eine IP Adresse und dahinter ein paar Infos. Ich möchte nun aus der Textdatei nur die IP Adressen auslesen hat da wer ne Idee? CU felro
|
Re: Problem mit txt Dateien
Zeig mal die erste Zeile.
|
Re: Problem mit txt Dateien
Von der txt???
Wenn ja 192.168.0.20 [Rechnername] AMD Athlon(tm) Prozessor 1,00 GHz 256 MB Ram in den nächsten Zeilen geht es dann genauso weiter z.B. 192.168.0.50 [felro] AMD Athlon XP(tm) Prozessor 1,66 GHz 512 MB Ram |
Re: Problem mit txt Dateien
Such dir mit pos das erste Leerzeichen und kopiere mit copy die IP in eine Stringvariable.
|
Re: Problem mit txt Dateien
Erstmal danke für deine Hilfe!
Aber sorry soweit bin ich in Delph noch nicht dass ich die ganzen Befehle kenne und weiss wie ich damit arbeiten muss, kannst du mir dass evtl genauer erklären? CU felro |
Re: Problem mit txt Dateien
spring zum ersten punkt in der zeile und prüf dann die drei zeichen davor ob es zahlen im gültigen bereich einer ip sind - wenn ja dann kannst du ja den rest auch noch einlesen. Wenn nicht soll er weitersuchen.
Du kannst das alles mit Pos und Copy lösen, das wird kein problem sein. Mfg //verlesen// Wenn die zeile immer nur gleich aufgebaut ist, ist es ganz leicht - dann brauchst du nur den befehl copy - in der delphi hilfe ist der prima beschrieben - oh sorry, nat brauchst du auch noch Pos falls sich die länge der ip ändert. mach das so wie es luckie gesagt hat. |
Re: Problem mit txt Dateien
hi,
was gibt denn dieser text aus??? Die ip adresse des eigenen rechners, oder die eines anderen? Wenn du die Ip adresse des eigenen Rechner suchst, dann benutze einfach folgene Funktion:
Delphi-Quellcode:
uses winsock;
function GetIpAddress: string; var phoste: PHostEnt; Buffer: array [0..100] of char; WSAData: TWSADATA; begin result:=''; if WSAStartup($0101, WSAData) <> 0 then exit; GetHostName(Buffer,Sizeof(Buffer)); phoste:=GetHostByName(buffer); if phoste = nil then result:='127.0.0.1' else result:=StrPas(inet_ntoa(PInAddr(phoste^.h_addr_list^)^)); WSACleanup; end; cu -homer- [edit=FuckRacism]Delphi-Syntax hinzugefügt. Mfg, FuckRacism[/edit] |
Re: Problem mit txt Dateien
Steht alles in der Hilfe, sogar mit Beispielen.
|
Re: Problem mit txt Dateien
Die Textdatei gibt verschiedene Ips aus dem lokalen Netzwerk an
|
Re: Problem mit txt Dateien
Um herauszufinden, ob ein String eine gültige IP ist, habe ich mir folgende Funktion gebastelt:
Delphi-Quellcode:
function CheckIP(ip:string):boolean;
var ziffern:array[0..3] of integer; index,position,fcode:integer; begin index:=0; while (ip<>'') and (index<4) do begin position:=pos('.',ip); // Teil bis zum ersten Punkt interessiert if position=0 then position:=length(ip)+1; // Kein Punkt»letzte Ziffer»ganzen Reststring nehmen val(copy(ip,1,position-1),ziffern[index],fcode); // Teilstring in Zahl wandeln delete(ip,1,position); // und dann aus dem String löschen if fcode>0 then ziffern[index]:=-1; // Fehler beim Umwandeln»Ziffer ungültig machen inc(index); end; for position:=index+1 to 3 do ziffern[position]:=-1// restliche Ziffern auffüllen, wenn zu wenig Zahlen im String // gültigen Zahlerbereich prüfen,. Ergebnis ist Funktionsrückgabewert checkIP:=(ziffern[0] in [0..255]) and (ziffern[1] in [0..255]) and (ziffern[2] in [0..255]) and (ziffern[3] in [1..253]) end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 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