Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - String einer Integer Zahl zuordnen


theChaoS - Sa 21.03.09 18:29
Titel: String einer Integer Zahl zuordnen
Hallo alle zusammen

Also ich hab hier ein recht verrückte Problem
ich habe einen X belibigen string und würde jedem String je nach buchstaben Art gernen eine Zahl zuordnen.
Also zb. Hans == 123 Peter == 23 usw.
Es ist jedoch egal nach welchen System die Zahlen zugeordnet werden da ich nur irgenwelche Zahlen brauche
Gibt es für soetwas eine funktion ? oder Hat irgenwermal eine gemacht ?

Vielen THX im voraus schonma


Kha - Sa 21.03.09 18:41

Object.GetHashCode() ;) .
String-Hashes müssen zwar nicht eindeutig sein (wie könnten sie es auch), aber die Gefahr einer Kollision ist in den meisten Szenarien doch gering genug.

PS: Wenn man fragen darf :) : Was hast du damit vor?


theChaoS - Sa 21.03.09 18:51

Hi thx für die antwort

Was ich damit vor hab ?
naja ich hab einen Messager gebaut (für den Info ukurs in der Schule)
dummerweise bin ich nicht so der Desing mensch ^^ der messager geht gut nur jetz überlege ich mit wie ich ihn verschöneren kan und dan halt auch daheim einsetzen
Und dabei bin ich zum schluss gekommen das ich je nach name (deshalb das beispile mit Peter ^^) die schrift verben sollte ^^


theChaoS - Sa 21.03.09 19:11

Hmm er macht Interesante Fehler ^^ :roll:
Habt ihr ne Code beispiel ? :D


Xentar - Sa 21.03.09 19:35

Zeig uns doch deinen Code, und beschreib, was nicht funktioniert..


theChaoS - Sa 21.03.09 20:34

Hmm um erlich zu sein ist alles was ich habe nach wie vor der String ^^
ich habe KA wie ich das mit dem Object.GetHashCode() verbinden soll ^^


Kha - Sa 21.03.09 22:47

user profile icontheChaoS hat folgendes geschrieben Zum zitierten Posting springen:
ich habe KA wie ich das mit dem Object.GetHashCode() verbinden soll ^^
Ignorier es einfach :oops: . War fest davon überzeugt, in einem C#-Thread zu sein...
Grundsätzlich ist eine Hashfunktion [http://de.wikipedia.org/wiki/Hash] schon der richtige Weg, aber wenn es nur um Farben geht, muss man da keine großen Spatzen-Kanonen auffahren. Du könntest eine feste Liste von Farben vorgeben (wer will schon braun-grau als Nick-Farbe ;) ), die Ord-Werte der einzelnen Zeichen im String addieren und die entsprechende n-te Farbe nehmen, also

Delphi-Quelltext
1:
Colors[OrdSum mod Length(Colors)]