AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delete Command - Syntaxfehler?

Ein Thema von VkPenguin · begonnen am 23. Dez 2011 · letzter Beitrag vom 23. Dez 2011
Antwort Antwort
Seite 1 von 2  1 2      
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#1

Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 15:41
Delphi-Version: 5
Guten Tag und Frohe Weihnachten ersteinmal!
Habe mich für mein Programm nach einer Lösung umgeschaut und im Prinzip auch eine hier gefunden: http://www.delphipraxis.net/156868-l...er-laenge.html

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:
...
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);
...
Doch wenn ich Pfeilunten drücke wird jedesmal der gesamte String gelöscht.. wie kann das sein? Danke für die Hilfe!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 15:50
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)?
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
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 16:21
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...

Ja, zum Thema:
Ohne den Quelltext, den du da in diesen Hilfs-/Ärger-Klassen hast, wird da kaum jemand helfen können.

// EDIT:
Denn rein die Anwendung von Delete sieht richtig aus.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (23. Dez 2011 um 16:24 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 16:40
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?
Was sind denn das für komische Klassen...?
Komisch ist höchstens deine Reaktion.
Ich befürchte ja, dass das irgendeine "Vereinfachung" von Leuten ist, die keine Ahnung von Informatik
Und das ist -gelinde gesagt- überheblich.

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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 16:56
Hast Du schonmal mSum gesehen? Dann würdest Du Dich nämlich nicht über unsere Reaktionen wundern.
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
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#6

AW: Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 17:02
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!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 17:05
Die "komischen Klassen" resultieren aus den Units, die ich im Informatikunterricht benutzen muss (Msum und Mliste).
Ich hab' s doch geahnt. Wer diese Units verbrochen hat, gehört mit Katzensch***e beworfen
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
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 17:07
Ich hab' s doch geahnt. Wer diese Units verbrochen hat, gehört mit Katzensch***e beworfen
Oh wie gut, das das erstens zum Thema passt und zweitens die Probleme des Fragestellers löst.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 17:13
Ich werde meine Posts in Zukunft per PN von Dir im Voraus genehmigen lassen, OK?
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
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#10

AW: Delete Command - Syntaxfehler?

  Alt 23. Dez 2011, 17:14
Nur falls mal jemand das Thema findet und dieselbe Frage hat:
http://www.delphi-treff.de/tutorials...ng/ueberblick/ bietet einen guten Überblick. Alles was zur begrenzung des Strings notwendig war, ist, Spielername:String[10] festzulegen.

Das wärs dann ersteinmal, danke für eure Hilfe!
  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 08:22 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