![]() |
Delphi-Version: 5
Delete Command - Syntaxfehler?
Guten Tag und Frohe Weihnachten ersteinmal!
Habe mich für mein Programm nach einer Lösung umgeschaut und im Prinzip auch eine hier gefunden: ![]() Ist sicherlich ein Anfängerfehler, aber ich möchte ebenfalls die letzte Ziffer meines Strings löschen. Hier ein Auszug aus dem Code:
Delphi-Quellcode:
Doch wenn ich Pfeilunten drücke wird jedesmal der gesamte String gelöscht.. wie kann das sein? Danke für die Hilfe!
...
System.schreibeText('Bitte Namen Eingeben und mit PFEILOBEN bestätigen! (LÖSCHEN:PFEILUNTEN)'); repeat if Tastatur.wurdeGedrueckt then Begin if ((GetKeyState(VK_DOWN) AND 128)=128) then Begin delete(SpielerName, length(SpielerName), 1); System.bewegeBis(derBildschirm.breite/2-200,680); System.schreibeText(' '); System.bewegeBis(derBildschirm.breite/2-200,680); System.schreibeText(SpielerName); End Else Begin H:=Tastatur.zeichen; Spielername:=SpielerName+H; System.bewegeBis(derBildschirm.breite/2-200,680); System.schreibeText(SpielerName); Tastatur.weiter; End; End; until ((GetKeyState(VK_UP) AND 128)=128); ... |
AW: Delete Command - Syntaxfehler?
Was sind denn das für komische Klassen, die Du da verwendest ("System" ist zudem ein ganz schlecht gewählter Name, da es eine Unit gleichen Namens gibt)?
|
AW: Delete Command - Syntaxfehler?
Ich befürchte ja, dass das irgendeine "Vereinfachung" von Leuten ist, die keine Ahnung von Informatik und schon gar nicht vom Informatikunterricht haben, und damit die Schüler malträtieren...
Und hinterher wundern sich dann die Leute warum so viele im Informatik Studium Probleme haben, wenn sie es dann richtig machen müssen... :roll: Ja, zum Thema: Ohne den Quelltext, den du da in diesen Hilfs-/Ärger-Klassen :mrgreen: hast, wird da kaum jemand helfen können. // EDIT: Denn rein die Anwendung von Delete sieht richtig aus. |
AW: Delete Command - Syntaxfehler?
Gut, "System" ist unglücklich. Aber 'derBildschirm' ist konsequent, denn wenigstens weiss man genau, was das für ein Objekt ist. Bloß weil es nicht englisch ist, heißt es ja nicht, das es komisch ist, oder?
Zitat:
Zitat:
Was liefert denn 'Tastatur.wurdeGedrueckt'? Liefert sie nur einmalig TRUE und dann sofort FALSE oder liefert die Funktion immer genau dann TRUE, wenn bzw. solange die Taste gedrückt ist. Denn dann wird bei jedem Schleifendurchlauf ein Zeichen gelöscht solange eine Taste gedrückt ist. Probiere doch mal: Wenn Taste "Pfeil runter" gedrückt, dann lösche ein Zeichen und warte dann, bis die Taste nicht mehr gedrückt ist. |
AW: Delete Command - Syntaxfehler?
Hast Du schonmal mSum gesehen? Dann würdest Du Dich nämlich nicht über unsere Reaktionen wundern.
|
AW: Delete Command - Syntaxfehler?
Hallo, vielen Dank ersteinmal für die Antworten. Die "komischen Klassen" resultieren aus den Units, die ich im Informatikunterricht benutzen muss (Msum und Mliste). Habe schon öfters gelesen, dass erfahrene Informatiker die als schlecht einstufen, aber da kann ich als Schüler wenig dran ändern.
Zur Erklärung: "System" ist ein Stift, der einfach schreiben und zeichnen kann. Tastatur und derBildschirm sind glaub ich selbsterklärend, "SpielerName" ist ein String (Name des Aktuellen Spielers) und "H" ist ein Char, der nur als Hilfsvariable dient, um "SpielerName" mit Leben zu füllen. @Furtbichler: Vielen Dank für den Tipp! Tastatur.wurdeGedrueckt war in der Tat das Problem, dieser Wert bleibt solange True, bis er durch "dieTastatur.weiter" aufgehoben wird.. Ich musste also einfach nurnoch "dieTastatur.weiter" hinzufügen. Jetzt müsste ich es nurnoch hinbekommen, dass der Spielername auf eine Maximalanzahl an Zeichen begrenzt ist.. Habe danach schonmal gesucht, bisher aber nichts gefunden. Werd es aber nochmal Probieren. Danke nocheinmal und Frohe Weihnachten zusammen! |
AW: Delete Command - Syntaxfehler?
Zitat:
|
AW: Delete Command - Syntaxfehler?
Zitat:
|
AW: Delete Command - Syntaxfehler?
Ich werde meine Posts in Zukunft per PN von Dir im Voraus genehmigen lassen, OK?
|
AW: Delete Command - Syntaxfehler?
Nur falls mal jemand das Thema findet und dieselbe Frage hat:
![]() Das wärs dann ersteinmal, danke für eure Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz