Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Möchte Buchstaben einzelnd anzeigen (https://www.delphipraxis.net/172380-moechte-buchstaben-einzelnd-anzeigen.html)

EMS 30. Dez 2012 12:13

Delphi-Version: 5

Möchte Buchstaben einzelnd anzeigen
 
Hallo
ich möchte gerne in einem Editfeld ABCDE schreiben.
Und dann auf Knopfdruck soll in einem message feld kommen:
1. Klick = A
2. Klick = B
3. Klick = C
4. Klick = D
5. Klick = E

hab das ganze mit einer Schleife probiert die erst links alles Löscht von meiner Position und danach soll das rechte gelöscht werden.
Aber irgendwie klappt das nicht

Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
var
   string1,string2:string;
   laenge,laengeneu,anzahl_Zeichen,anfangsposition,anzahl_Zeichen1,anfangsposition1,
   anfangsposition2,anzahl_zeichen2,index1,index2
     :integer;
begin
   //Länge bestimmen
   string1:=edit4.text;
   laenge:=LENGTH(string1);
   showmessage('Länge '+inttostr(laenge));

   // Links löschen
   For index2:=1 to laenge do
   begin
   index1:=1;
   string2:=edit4.text;
   anfangsposition1:=index1;
   anzahl_Zeichen1:=index2-1;
   delete(string2,anfangsposition1,anzahl_Zeichen1);
   laengeneu:=laenge-index2+1;
   showmessage(' BEI index2: '+inttostr(index2)+ ' string 2 IST:'+ string2 );
   showmessage(inttostr(laengeneu));
   anfangsposition2:=index2+1;
   anzahl_Zeichen2:=laenge-index2+1;
   delete(string2,anfangsposition2,anzahl_zeichen2);
   showmessage('Ergebniss: '+string2);
   end;

end;

DeddyH 30. Dez 2012 12:28

AW: Möchte Buchstaben einzelnd anzeigen
 
Delphi-Quellcode:
var
  idx: integer;
  s: string;
begin
  s := Edit4.Text;
  for idx := 1 to Length(s) do
    ShowMessage('An Stelle ' + IntToStr(idx) + ' steht ' + s[idx];
end;
Erscheint mir etwas einfacher.

EMS 30. Dez 2012 12:39

AW: Möchte Buchstaben einzelnd anzeigen
 
das klappt nicht da kommt immer ein fehler den ich noch nicht gesehen habe

project1.lpr(20.1)Error: Can't create object file:project1.exe

???

Was könnte denn in meinem Programm der Fehler sein?

DeddyH 30. Dez 2012 12:45

AW: Möchte Buchstaben einzelnd anzeigen
 
Wo hast Du meinen Code denn hingeschrieben? Anscheinend nicht unter TForm1.Button6Click.

[edit] Schau Dir Deine Variablen mal im Debugger an, dann siehst Du schon selbst, was da schief läuft. Nur mal als Tipp: innerhalb der Schleife steht auch Code, der nach außerhalb gehört, wie z.B. div. Zuweisungen. [/edit]

EMS 30. Dez 2012 12:50

AW: Möchte Buchstaben einzelnd anzeigen
 
Ok das klappt jetzt ich hatte irgendwie noch was geöffnet.
Ja das ist viel einfacher.
Aber das mit den Eckigen Klammern kannte ich noch nicht
Aber den Fehler in meiner Schleife da kannste den vielleicht erkennen?

DeddyH 30. Dez 2012 12:53

AW: Möchte Buchstaben einzelnd anzeigen
 
Siehe mein Edit.

EMS 30. Dez 2012 13:09

AW: Möchte Buchstaben einzelnd anzeigen
 
was ist denn der debugger?

ich sehe das irgendwie das string2 sich ja immer wiederholt und nicht bei meinem letzten wert bleibt aber wenn ich das vor die schleife stelle gehts auch nicht?

Popov 30. Dez 2012 13:30

AW: Möchte Buchstaben einzelnd anzeigen
 
In Delphi 7 sieht es so aus: Menü 'Ansicht' > 'Desktop Fenster'

Dort hast du zwei für dich interessante Menüpunkte, die du übrigens auch über Tastenkombinationen erreichst:

'Lokale Variablen' auch über Strg+Alt+L zu öffnen
'Überwachte Ausdrücke' auch über Strg+Alt+W zu öffnen

Am schnellsten und einfachsten für dich sind 'Lokale Variablen'. Sie zeigen alle aktuellen Variablen mit Inhalt (soweit möglich) der aktuellen Prozedur/Funktion/usw. Trotz dessen, dass sie lokal sind, existieren nicht alle Variablen zu jeder Zeit. Objekte müssen erst erzeugt werden, wird eine Variable nicht mehr benötigt, wird sie verworfen, usw. Also nicht wundern wenn nicht zu jeder Zeit ein Ergebnis angezeigt wird.

Etwas komplexer, aber auch mächtiger ist 'Überwachte Ausdrücke'. Sie Zeigt alle Variablen an, soweit möglich und explizit abgefragt.

EMS 30. Dez 2012 13:33

AW: Möchte Buchstaben einzelnd anzeigen
 
ja mit strg alt und L habe ich nun ein leeres Fenster?
Wie soll mir das nun weiter helfen?

Popov 30. Dez 2012 13:51

AW: Möchte Buchstaben einzelnd anzeigen
 
Es wird erst "voll" wenn das Programm gestartet ist und du dich in der entsprechenden Prozedur befindest.

Klicke mit der Maus in die entsprechende Zeile und setzte mit F5 einen Haltepunkt. Starte das Programm. Es wird an dem Haltepunkt anhalten und dir das Fenster mit den lokalen Variablen anzeigen. Und dieses Mal werden die Variablen da sein.

Bei der Gelegenheit - wenn du die Variable im Debug-Fenster doppelklickst (erreichbar auch über Kontextmenü) öffnet sich ein kleiner Debug-Inspektor. In dem kannst du zur Laufzeit den Wert der Variable ändern/anpassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 Uhr.
Seite 1 von 2  1 2      

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