AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit Ord()

Ein Thema von Baulli · begonnen am 28. Dez 2009 · letzter Beitrag vom 28. Dez 2009
Antwort Antwort
Baulli

Registriert seit: 11. Okt 2008
17 Beiträge
 
#1

Probleme mit Ord()

  Alt 28. Dez 2009, 11:42
Hallo,

ich habe das Problem, dass ich aus einer ini Datei einen Wert als String auslese und Ord() auf diesen String ausführen möchte, allerdings ist dies ja nicht möglich.

Kurz wie komm ich von Ord('a') auf Ord(a) ?
Mit strtoint usw hatte ich bis jetzt noch keine Erfolge!

Danke im Vorraus
Baulli
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Probleme mit Ord()

  Alt 28. Dez 2009, 11:48
Hi,

du kannst ord() auf die einzelnen Zeichen eines Strings anwenden.

also z.B.
  ord(s[1]); wobei der string natürlich mindestens 1 Zeichen lang sein muss.

Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Baulli

Registriert seit: 11. Okt 2008
17 Beiträge
 
#3

Re: Probleme mit Ord()

  Alt 28. Dez 2009, 11:57
Danke,

aber das problem ist, dass ich Ord auf einen 3 Zeichen langen String anwenden muss:
RegisterHotKey(Form1.Handle, 1, 0, ord(i[1]+i[2]+i[3])); gibt Fehlermeldung aus!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Probleme mit Ord()

  Alt 28. Dez 2009, 11:59
Da Ord() ein ASCII-Zeichen in den zugehörigen Dezimalwert umwandelt, kannst du keine kompletten Strings übergeben.
Du kannst natürlich jedes Zeichen einzeln mit Ord() umwandeln und anschließend addieren o.ä.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#5

Re: Probleme mit Ord()

  Alt 28. Dez 2009, 12:04
das geht nicht ... Ord gibt z.B. den binären Zahlenwert eines Zeichens aus.

ein String hat mehrere Zeichen und da geht es einfach nicht.

du kannst aber mehrere Werte nachher zusammenrechnen
z.B.:
Delphi-Quellcode:
x := ord(i[1]) + ord(i[2]) + ord(i[3]);

// oder
x := ord(i[1]) + ord(i[2]) * 256 + ord(i[3]) * 65536;

// oder
x := integer(ord(i[1])) + integer(ord(i[2])) * 256 + integer(ord(i[3])) * 65536;

x := integer(ord(i[3])) * 65536 + integer(ord(i[2])) * 256 + ord(i[1]);
[edit]
ich hätte schneller schreiben sollen, aber was soll's ... ist praktisch Matzes Antwort nochmal in lang
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Baulli

Registriert seit: 11. Okt 2008
17 Beiträge
 
#6

Re: Probleme mit Ord()

  Alt 28. Dez 2009, 12:07
Mir fällt dazu keine gescheite Lösung ein.

Ich lese aus der Ini Datei den Virtual Key Code (z.B.: $31) und diesen muss ich in die Registrierung vom Hotkey einbauen
Sprich:
RegisterHotKey(Form1.Handle, 1, 0, ord($31)); Da ich allerdings nun den KeyCode aus einer ini Datei auslese bekomme ich '$31' und kann mit diesem keinen Key registrieren.

Edit: wenn ich vorher alle Zeichen einzeln einlese und addiere kommt auch Fehlermeldung beim lesen von Adresse.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#7

Re: Probleme mit Ord()

  Alt 28. Dez 2009, 12:09
Das sollte doch StrToInt in einen Integer umwangeln können?
StrToInt('$31') = $31 = 49
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:08 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