Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   String Problem (https://www.delphipraxis.net/163035-string-problem.html)

p80286 13. Sep 2011 17:01

AW: String Problem
 
Zitat:

Zitat von blaky (Beitrag 1124093)
jemand ne Idee wie ich alles außer Zahlen 0-9 rausfiltere?

Delphi-Quellcode:
for i:=a to b do
  if readln[i] in ['0'..'9'] then ATN:=ATN+readln[i]
else ATN:=ATN+' ';
oder so ähnlich

Gruß
K-H

p.s.
readln ist echt nicht so DER Name für eine Variable

DeddyH 13. Sep 2011 17:04

AW: String Problem
 
Delphi-Quellcode:
for I := 11 to 34 do
  case readline[I] of
    ' ': break;
    '0'..'9': ATLN := ATLN+readline[I];
  end;
Ungetestet, sollte aber tun.

[edit]
Zitat:

Zitat von p80286 (Beitrag 1124097)
p.s.
readln ist echt nicht so DER Name für eine Variable

Hab ich auch erst gedacht, aber da die Prozedur ReadLn und die Variable ReadLine heißt, sollte sich da nichts beißen. [/edit]

himitsu 13. Sep 2011 17:09

AW: String Problem
 
Zitat:

Zitat von blaky (Beitrag 1124093)
jemand ne Idee wie ich alles außer Zahlen 0-9 rausfiltere?

Da du ATLN selber befüllst,
indem du nur 0-9 dort anhängst?

p80286 13. Sep 2011 17:10

AW: String Problem
 
Ich dachte mehr daran:
Delphi-Quellcode:
f:textfile;

assignfile(f:'myfile');
reset(f);
readln(f,mystring);
und richtig lesen kann ich auch nicht.
Gruß
K-H

blaky 13. Sep 2011 17:11

AW: String Problem
 
die readline wird fremd über eine TCP Verbindung gefüllt
aber
ich glaub ich habs..

hab jetzt mit ner 2. Variable und ner 2. For Schleife gelöst

Code:
var
readline: string;
ATLN: string;
ATLNx: string;

if ((Pos('33', readline) = 1) and (readline[4] = '0')) then // Langrufnummer kommenden Tln.
    begin
      readline_identifiziert:= true;
      for I := 11 to 34 do
        begin
           ATLN:=ATLN+readline[I];
        end;

      for I := 0 to length(ATLN) do
         begin
          if ((ATLN[i] = '0') or (ATLN[i] = '1') or (ATLN[i] = '2') or (ATLN[i] = '3') or (ATLN[i] = '4') or (ATLN[i] = '5') or (ATLN[i] = '6') or (ATLN[i] = '7') or (ATLN[i] = '8') or (ATLN[i] = '9')) then
              begin
                ATLNx:=ATLNx+ATLN[i];
              end;
         end;
       ATLNx := Trim(ATLNx);
       showmessage(datetostr(date)+' '+timetostr(time)+'-> kommender Anruf von RufNr: '+ ATLNx +' auf Nst: ' + readline[6] + readline[7] + readline[8] + readline[9]);

    end;
wer etwas eleganteres hat bitte nicht zögern

DeddyH 13. Sep 2011 17:13

AW: String Problem
 
#12 hast Du ausprobiert?

p80286 13. Sep 2011 17:15

AW: String Problem
 
Zitat:

Zitat von blaky (Beitrag 1124101)
wer etwas eleganteres hat bitte nicht zögern

Wie wäre es mit DeddyH's Vorschlag?

Gruß
K-H

edith:
der rote kasten hat Feierabend

blaky 13. Sep 2011 17:21

AW: String Problem
 
Zitat:

Zitat von p80286 (Beitrag 1124104)
Zitat:

Zitat von blaky (Beitrag 1124101)
wer etwas eleganteres hat bitte nicht zögern

Wie wäre es mit DeddyH's Vorschlag?

Gruß
K-H

edith:
der rote kasten hat Feierabend

hatte ich ganz überlesen.. :P das klappt super! Danke DeddyH

himitsu 13. Sep 2011 17:29

AW: String Problem
 
Es gibt auch nocht den IN-Parameter:
Delphi-Quellcode:
if readline[i] in ['0'..'9'] then

blaky 13. Sep 2011 17:40

AW: String Problem
 
Zitat:

Zitat von himitsu (Beitrag 1124107)
Es gibt auch nocht den IN-Parameter:
Delphi-Quellcode:
if readline[i] in ['0'..'9'] then

Das klingt auch nett. Danke für den Tip!


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 Uhr.
Seite 2 von 3     12 3      

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