AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Analyse von einem Edit Feld

Ein Thema von Bassel · begonnen am 15. Jun 2007 · letzter Beitrag vom 15. Jun 2007
Antwort Antwort
Bassel

Registriert seit: 14. Aug 2006
Ort: Hannover
29 Beiträge
 
Delphi 7 Personal
 
#1

Analyse von einem Edit Feld

  Alt 15. Jun 2007, 18:42
Hallo

ich versuche ein Programm zuschreiben, das die im Edit Feld eingegebene Zeichenfolge analysiert, bzw
jede Stelle Edit1.Text[i] in eine Zahl umwandelt und sie in er Varibale speichert...

So soll, falls zB Edit1.Text[5] ein D ist die Variable t5 den Wert 4 haben usw.

Das Problem ist, dass Delphi erstmal schon bei A,a B,b usw rummeckert und ich weiß
auch nicht, ob das t[i] funktioniert. Hat einer eine Idee, wie dies Funktionieren kann?

Mein nicht funktionirender Ansatz :

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
begin

 for i:=1 to 20 do begin

  case Edit1.Text[i] of
   A,a: t[i] := 1;
   B,b: t[i] := 2;
   C,c: t[i] := 3;
   D,d: t[i] := 4;
   E,e: t[i] := 5;
   F,f: t[i] := 6;
   G,g: t[i] := 7;
   H,h: t[i] := 8;
   I,i: t[i] := 9;
   J,j: t[i] := 10;
   K,k: t[i] := 11;
   L,l: t[i] := 12;
   M,m: t[i] := 13;
   N,n: t[i] := 14;
   O,o: t[i] := 15;
   P,p: t[i] := 16;
   Q,q: t[i] := 17;
   R,r: t[i] := 18;
   S,s: t[i] := 19;
   T,t: t[i] := 20;
   U,u: t[i] := 21;
   V,v: t[i] := 22;
   W,w: t[i] := 23;
   X,x: t[i] := 24;
   Y,y: t[i] := 25;
   Z,z: t[i] := 26;

end;
end;
end;

Thx4Help

Bassel
1337 and have fun
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Analyse von einem Edit Feld

  Alt 15. Jun 2007, 18:49
Du könntest statt des case die Zahl aus dem ASCII-Code berechnen:

Delphi-Quellcode:
if Edit.Text[i] in 'A..Zthen
begin
    t[i] := ord(Edit.Text[i]-48);
end;
if Edit.Text[i] in 'a..zthen
begin
    t[i] := ord(Edit.Text[i]-95);
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Analyse von einem Edit Feld

  Alt 15. Jun 2007, 18:56
Als erstes würde ich darauf achten, dass wirklich nur die Textlänge genommen wird (könnte ja auch kürzer sein). Dazu kannst du Length() verwenden.
Dein Problem hier ist, dass die einzelnen Zeichen vom Typ Char sind. Auch ein Char muss, wie ein String, in Hochkommas gesetzt werden:
Delphi-Quellcode:
 for i:=1 to Length(Edit1.Text) do begin
  case Edit1.Text[i] of
   'A', 'a': t[i] := 1;
    ...
   'Z', 'z': t[i] := 26;
ansonsten würde ich es auch, wie mkinzler vorgeschlagen hat, über den ASCII-Code machen, aber gleich so (da du ja nicht nach Groß-/Kleinbuchstaben unterscheidest):
t[i] := Ord(UpperCase(Edit.Text[i]) - 48);
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Analyse von einem Edit Feld

  Alt 15. Jun 2007, 19:16
Hallo,

besser so:

t[i] := Ord(UpCase(Edit.Text[i])) - Ord('A') + 1; Ein weiterer Optimierungsansatz wäre, den Inhalt des Edit-Controls in einer lokalen Stringvariablen zwischenzuspeichern und diese auszuwerten.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Bassel

Registriert seit: 14. Aug 2006
Ort: Hannover
29 Beiträge
 
Delphi 7 Personal
 
#5

Re: Analyse von einem Edit Feld

  Alt 15. Jun 2007, 19:17
okay das probier ich mal....

Vielen Dank

Bassel
1337 and have fun
  Mit Zitat antworten Zitat
Bassel

Registriert seit: 14. Aug 2006
Ort: Hannover
29 Beiträge
 
Delphi 7 Personal
 
#6

Re: Analyse von einem Edit Feld

  Alt 15. Jun 2007, 19:28
hmmm jedes mal, bei jeder Variante sagt Delphie bei t[i], dass ein Array-Typ erforderlich ist.
woran liegt das?


Bassel
1337 and have fun
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Analyse von einem Edit Feld

  Alt 15. Jun 2007, 19:30
ist t kein Array? dann mach einen draus
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.617 Beiträge
 
Delphi 12 Athens
 
#8

Re: Analyse von einem Edit Feld

  Alt 15. Jun 2007, 19:31
Weil die Schreibweise t[i] bei Arrays benutzt wird
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Bassel

Registriert seit: 14. Aug 2006
Ort: Hannover
29 Beiträge
 
Delphi 7 Personal
 
#9

Re: Analyse von einem Edit Feld

  Alt 15. Jun 2007, 19:51
ahh ich nap

nja ich hatte noch nichts mit arrays zu tun....

ich hab ein riesig fettes Buch da findet man ziemlich viel, aber nicht alles....

und es beantwortet nicht gezeilt fragen ^^

naja dann programmier ich mal weiter



Vielen dank

Bassel
1337 and have fun
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:42 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