Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi #? zu buchstave/zahl/zeichen ? (https://www.delphipraxis.net/5102-zu-buchstave-zahl-zeichen.html)

Pseudemys Nelsoni 23. Mai 2003 19:07


#? zu buchstave/zahl/zeichen ?
 
hi

wie ich einen buchstabe zu ascii umwandle weiss ichz, aber wie kann ich z.b rausfinden wofür #100 steht? mit :

Delphi-Quellcode:
  Label2.Caption := IntToStr(Chr(StrToInt(Edit1.Text)));
hats nicht geklappt :(

braingrenade 23. Mai 2003 19:21

Moin !

so könnte es funzen :


Delphi-Quellcode:
 Label2.Caption := IntToStr(Chr(integer(Edit1.Text[i])));
kannste halt immer nur einen buschstaben umwandeln !

Stanlay Hanks 23. Mai 2003 19:21

Probier doch mal ganz einfach

Delphi-Quellcode:
ShowMessage(#100);
:wink:

Pseudemys Nelsoni 23. Mai 2003 19:32

hoi, jo das funzt danke :), aber wie zeige ich mir das aus einem edit heraus aus an? wenn ich im edit "#100" stehen hab, wird mir auch #100 angezeigt :\

gruss

Luckie 23. Mai 2003 20:22

Ordinal Wert eines ASCII-Zeichens: ord.
Zeichen eines ordinal Wertes: chr.

Wenn man das eine weiß, m uß man eigentlich in der Hilfe zwangsweise über das andere stolper. :roll:.

Pseudemys Nelsoni 23. Mai 2003 20:50

jo, aber wie krieg ich #100 mit chr() umgewandelt?

Stanlay Hanks 23. Mai 2003 20:54

Ich glaub, sein Problem is nicht wie man #100 in nen Buchstaben umwandelt, sondern wie man dem Programm sagt, dass er nicht '#100' als String aus dem Textfeld nehmen soll, sondern #100 als wert zum umrechnen

Pseudemys Nelsoni 23. Mai 2003 21:28

genau

also showmessage(#100) geht, aber wenn ich im edit1 "#100" habe und showmessage(edit1.text) anzeige, wird #100 angezeigt (ist klar) aber wie zeig ich das nun so an das aus der #100 ein "d" wird?

Luckie 23. Mai 2003 21:28

Im Edit die Raute weglassen:
Delphi-Quellcode:
ShowMessage(chr(StrToInt(Edit1.Text)));
Oder wenn sie drin steht vorher wegschneiden, entfernen, eliminieren oder was auch immer mit machen.

Pseudemys Nelsoni 23. Mai 2003 21:35

Delphi-Quellcode:
  label2.Caption := chr(StrToInt(Edit1.Text));
so geiths, thx all^^

Luckie 23. Mai 2003 21:48

Glaube ich nicht. Da kommt bei mir:
Zitat:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: ''#100' ist kein gültiger Integerwert'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------

Pseudemys Nelsoni 24. Mai 2003 08:50

hm ja stimmt, wenn ich das so hab (also ohne #):

Delphi-Quellcode:
procedure TForm1.Image2Click(Sender: TObject);
var
  s: string;
begin
  if Edit1.Text <> '' then
  begin
    s := Edit1.Text;
    Try
      if s[1] <> '#' then
      label2.Caption := chr(StrToInt(s))
      else
      begin
        Delete(s, 1, 1);
        label2.Caption := chr(StrToInt(s));
      end;
    except
      on EConvertError do
      begin
        label2.Caption := 'Falsche Eingabe!';
      end;
    end;
  end
  else
  Label2.Caption := 'Gib halt was ein!';
end;

zeigt mir das programm, wenn ich 958 eingebe als ergebnis "¾" an.
Obwohl 958 = "¥" ist

hmm

Luckie 24. Mai 2003 13:28

958 liegt weiter hinter dem ASCII-Zeichensatz. Ist also abhänging von der Zeichensatzttabelle, der Schriftart und ob Uni-Code oder nicht Uni-Code.

Pseudemys Nelsoni 24. Mai 2003 13:56

beide schriften waren Verdana. unicode?

Christian Seehase 24. Mai 2003 14:31

Moin Silent,

die Funktion chr erwartet als Parameter ein Byte, und macht somit aus 958 958 mod 256 => 190 => ¾.

Wenn Du Unicodezeichen verwenden willst, müssen alle Komponenten auch mit Widestring (-character) arbeiten.

Pseudemys Nelsoni 24. Mai 2003 15:08

hoi, gibt es dafür ein beispielcode?
ich möchte das beim drücken von Button1, der wert aus dem Edit1.text umgewandelt wird und das ergebnis im label erscheint


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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