Ergebnis 1 bis 20 von 47

Thema: Delphi - Fragen!

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Naja, das Problem habe ich ja schon gelöst.
    Ich würde lieber mal wissen, wie man auf 5er runden kann, also 32 = 35 oder 99 = 100.

  2. #2
    Zitat Zitat von PX Beitrag anzeigen
    Ich würde lieber mal wissen, wie man auf 5er runden kann, also 32 = 35 oder 99 = 100.
    Kenn mich zwar in Delphi nicht aus, das dürfte aber dennoch möglich sein:

    Wenn <zahl> Modulo 5 gleich 0 ist:
    Gib <zahl> zurück
    Ansonsten:
    Gib <zahl> + (<zahl> Modulo 5) zurück

  3. #3
    Zitat Zitat von Brainstar Beitrag anzeigen
    Wenn <zahl> Modulo 5 gleich 0 ist:
    Gib <zahl> zurück
    Ansonsten:
    Gib <zahl> + (<zahl> Modulo 5) zurück
    Oder gleich
    Zahl = Zahl + (Zahl modulo 5)
    Zumindest falls du wirklich immer aufrunden willst, PX.

  4. #4
    modulo gibt es doch gar nicht. Ihr meint wohl mod oder so etwas in der Art...

  5. #5
    mod ist die Kurzform für modulo

  6. #6

    (Delphi-)Frage

    Wie kann man ein Wort in seine Buchstaben zerlegen lassen / bzw. ist das überhaupt möglich?

  7. #7
    Nun, du kannst auf die Einzelnen Buchstaben zugreifen, wie du auf ein Array zugreifst:

    Code:
    var
      S: String;
    begin
      S := 'Hallo';
      if S[1] = 'H' then
      [...]
    end;
    Beachten solltest du die Länge des Strings (Length(S)), da es sonst Zugriffsverletzungen gibt. Außerdem fängt dieses String-Array bei 1 und nicht bei 0 an, was historische Gründe hat (in Turbo Pascal war das erste Byte die Länge des Strings, somit wahren Strings in TP maximal 255 Char lang, in Delphi ist es nur aus Kompatibilität noch so, Strings können beliebig lang sein).

  8. #8
    Danke.
    Meine neue Frage:
    Wie kann ich von einem Editfeld die maximale Anzahl an eingebbaren Zeichen definieren und wie kann ich nur Zahlen / bzw. nur Buchstaben erlauben lassen?

  9. #9
    Zitat Zitat von PX Beitrag anzeigen
    Danke.
    Meine neue Frage:
    Wie kann ich von einem Editfeld die maximale Anzahl an eingebbaren Zeichen definieren und wie kann ich nur Zahlen / bzw. nur Buchstaben erlauben lassen?
    Im OnKeyPress kannst du einfach das hier machen:
    Code:
    if not ((Key in ['a'..'z']) OR (Key in ['A'..'Z'])) then
      Key := #0;
    bzw.
    Code:
    if not (Key in ['0'..'9']) then
      Key := #0;
    Für Zahlen bieten sich aber auch SpinEdits (Registerkarte: Examples/Beispiele) an. Da kannst du dir mal Min und Max anschauen. Ansonsten ist die maximale Stringlänge bei Edits in MaxLength gespeichert, wer hätte es gedacht

  10. #10
    Passend dazu bräuchte ich jetzt aber noch einen Code/Befehl für Backspace, da es für den Nutzer sonst problematisch wird, wieder etwas aus dem Feld zu löschen; also Backspace und andere wichtige Tasten wie Space sollten irgendwie funktionieren.

  11. #11
    Schau mal hier: http://dsdt.info/grundlagen/codes/vks.php

    VK_BACK oder auch $08. VK_Back wird aber nur für KeyUP/KeyDown gehen.

  12. #12
    Wie baue ich Objektunabhängige Prozeduren richtig ein?
    Beispiel: Beim Klick auf Button X öffnet sich eine Nachricht, dann wird mehrmals hintereinander diese unabhängige Prozedur ausgeführt. Habe mich bereits auf anderen Seiten erkundigt, angeblich soll man die Prozedur über eine Variable einbauen, das ergab mir aber Fehler.

  13. #13
    Zitat Zitat von Crash-Override Beitrag anzeigen
    Schau mal hier: http://dsdt.info/grundlagen/codes/vks.php

    VK_BACK oder auch $08. VK_Back wird aber nur für KeyUP/KeyDown gehen.
    Habe es noch nicht verstanden.
    Code:
    if not (Key in ['VK_BACK']) then
      Key := #0;
    So geht es nicht...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •