AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi String Zeichen für Zeichen nach ANSI-Codes durchsuchen? Wie?
Thema durchsuchen
Ansicht
Themen-Optionen

String Zeichen für Zeichen nach ANSI-Codes durchsuchen? Wie?

Ein Thema von Armageddon · begonnen am 12. Aug 2003 · letzter Beitrag vom 12. Aug 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#1

String Zeichen für Zeichen nach ANSI-Codes durchsuchen? Wie?

  Alt 12. Aug 2003, 00:57
Hallo

Hab mal wieder ne kleine Bescheidene Frage.


Ich hab den Inhalt der Zwischenablage einem String zugewiesen. Und vorher auch schon getestet ob es nur Text ist. Soweit so gut.
Jetzt möchte ich aber diesen Text nach allen ANSI's durchsuchen außer
nach den Ziffern 0 bis 9. Falls ein anderes Zeichen außer den Ziffern enthalten ist, ist der Text ungültig und darf nicht in's Editfeld eingefügt werden.

Habe schon hier verzweifelt gesucht und auch in der Hilfe nachgesehen.
Aber ich seh den Wald vor lauter Bäumen mal wieder nicht.

Bis jetzt sieht es so aus:

Delphi-Quellcode:
procedure TForm1.Einfuegen1Click(Sender: TObject);
var
  Eingabe, Ausgabe, Zeichen: String;
begin
  begin
    if not 'bla bla bla Zwischenablage nix Text usw. das üblichethen
    Application.MessageBox('bla bla bla','bla bla',48)
    else
    Eingabe := Clipboard.AsText;

'Hier sollte nun vom ersten Zeichen an geprüft werden ob obiges zutrifft
wenn dann ein Zeichen gefunden wird das keine Ziffer ist soll ne Fehlermeldung kommen und gut
'

'ansonsten gehts hier weiter'
Hoffe mir kann jemand helfen.

Gruß Arma.
  Mit Zitat antworten Zitat
chris

Registriert seit: 24. Mai 2003
Ort: Düsseldorf
196 Beiträge
 
Delphi 2009 Professional
 
#2

Re: String Zeichen für Zeichen nach ANSI-Codes durchsuchen?

  Alt 12. Aug 2003, 01:50
hi,

quick & dirty könntest du es so machen:

Delphi-Quellcode:
try
  strtofloat(edit1.Text);
  showmessage('Zahl')
except
  showmessage('Keine Zahl')
end
Chris
D2009.4 | Vista SP2 x32
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#3

Re: String Zeichen für Zeichen nach ANSI-Codes durchsuchen?

  Alt 12. Aug 2003, 01:57
Hi Chris,

danke für die Antwort. Ist mir schon klar die Quick and dirty methode.
Aber ich will es gern kompliziert und die volle Kontrolle über jedes Zeichen. Das mit der Quick and dirty hab ich schon versucht aber gefällt mir nicht. Bringt nicht den gewünschten Effekt.

Trotzdem danke.

Gruß Arma.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: String Zeichen für Zeichen nach ANSI-Codes durchsuchen?

  Alt 12. Aug 2003, 02:31
Zitat von Armageddon:
Jetzt möchte ich aber diesen Text nach allen ANSI's durchsuchen
Was sind bei die "ANSI"'s?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#5

Re: String Zeichen für Zeichen nach ANSI-Codes durchsuchen?

  Alt 12. Aug 2003, 02:37
Oh Sorry Luckie,

jetzt hab ich mir vorher mal aus Neugier die "wie benehme ich mich hier richtig" Regeln durchgelesen wobei mir der Satz mit dem sachlich Formuliert oder wie es da heißt aufgefallen ist aber mach es dann nicht mal so. Kommt wohl von zu wenig Schlaf.

Mit ANIS's mein ich die Codes von #0 bis #255 wobei ja #48 bis #57 die zahlen sind aber sobald ich bei dem suchen ( ich hoffe das geht ) auf nen code ausserhalb der #48 bis #57 stoße kann ich den inhalt der zwischenablage vergessen.

hoffe ist jetzt verstädnlicher.

Gruß Arma.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: String Zeichen für Zeichen nach ANSI-Codes durchsuchen?

  Alt 12. Aug 2003, 02:39
Könnte man dein Problem mit einfachen Worten so umschreiben, dass du nur die Ziffern aus dem String haben willst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: String Zeichen für Zeichen nach ANSI-Codes durchsuchen?

  Alt 12. Aug 2003, 02:49
Falls dem so ist. Hier die Lösung:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  s: String;
begin
  s := 'sdfvsa7843vskljc023dskjv3746';
  i := length(s);
  while i > 0 do
  begin
    if not (s[i] in ['0'..'9']) then
      Delete(s, i, 1);
    dec(i);
  end;
  ShowMessage(s);
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#8

Re: String Zeichen für Zeichen nach ANSI-Codes durchsuchen?

  Alt 12. Aug 2003, 03:00
Danke Luckie,

ist zwar nicht genau das was ich mir gedacht habe aber jetzt habe ich wenigstens mal nen anfang. ne kleine stütze sozusagen.

kann deinem beispiel etwas folgen werd mal sehen ob ich es so hinbasteln kann wie ich es mir vorstell.

Dankschäääää Arma.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: String Zeichen für Zeichen nach ANSI-Codes durchsuchen?

  Alt 12. Aug 2003, 03:07
Was hast du dir den gedacht?

Nachtrag: So geht es übrigens auch:
if not (s[i] in [#48..#57]) then
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#10

Re: String Zeichen für Zeichen nach ANSI-Codes durchsuchen?

  Alt 12. Aug 2003, 03:17
hmmm also eher so in der Art:

s := '13 gramm sind 10 zuviel'

wobei hier schon nach der 13 beim ersten leerzeichen also #32 angehalten werden sollte mit ner ShowMessage('das war wohl nix')

oder:

s := '-124.040,012'

wobei hier alles in ordnung wäre. weil nur zahlen und das minuszeichen drin sind. da will ich dann später die zahl mit dem tausendertrennzeichen wie es vom windowstaschenrechner kommt auf -124040,012 umwandeln aber wie das geht weiß ich schon das ist kein problem.

oder:

s := 'dieses Rezept ist nicht zum kochen gedacht'

hier müßte gleich beim ersten Zeichen also dem "d" dann die Fehlermeldung kommen.

hört sich wohl etwas kompliziert an aber was erklären war noch nie meine stärke. ich denke eher und handel in wenigen FLOPS *lol*

Gruß Arma.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz