AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi welche tabelle oder zeichsatz ist der richtige??
Thema durchsuchen
Ansicht
Themen-Optionen

welche tabelle oder zeichsatz ist der richtige??

Ein Thema von Harry M. · begonnen am 5. Apr 2005 · letzter Beitrag vom 5. Apr 2005
Antwort Antwort
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#1

welche tabelle oder zeichsatz ist der richtige??

  Alt 5. Apr 2005, 22:28
ich schreibe grade an einer verschlüsselung-routine. die arbeitet so: der text in einem memo wird zeichen für zeichen gelesen und ausgewertet... in etwa so

Delphi-Quellcode:
  case OrginalTextMemo.Text[I] of
//...
    #58 : ZEICHEN := '23z'; // : Doppelpunkt
    #59 : ZEICHEN := 'uuj'; // ; Semikolon
    #60 : ZEICHEN := '1xq'; // < Kleiner-als-Zeichen
//...
  end;

  CodetextMemo.Text := CodetextMemo.Text+ZEICHEN;
jetzt bin ich aber auf ü, ö, ä und ß gestoßen... und habe festgestellt, das diese zeichen in der tabelle die ich habe (von irgend so ner uni) gar nicht enthalten sind. kurzerhand habe ich mir nen kleines tool gebastelt, welches bei eingabe in eine edit mir den tastaturcode (KEY) verrät. bei der eingabe von "ü" bekomme ich das gleiche ergebnis wie bei "Ü" nähmlich 186 das gleiche ist auch so mit "Ä" bzw "ä" das ist 222, "Ö" bzw "ö" ist 192 beim zeichen "ß" bekomme ich das gleiche ergebnis wie bei der eingabe von "?" nämlich 219 laut ascii-tabelle die mir vorliegt sollte das "?" eigendlich 63 sein. wie kommen diese unterschiede zustande und wo bekomme ich die richtige tabelle zum codieren her...

sonst wird es schwierig mit der decodierung
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: welche tabelle oder zeichsatz ist der richtige??

  Alt 5. Apr 2005, 22:46
Moin Harry,

aus Gründen der Performance solltest Du auf jeden Fall davon Abstand nehmen ständig auf die Eigenschaft Text zuzugreifen.
Übertrage die einmal in eine Stringvariable, und arbeite damit.

Für Case kannst Du auch direkt die Zeichen angeben, also z.B.

Delphi-Quellcode:
case .... of
  'A' : ...
  'ß' : ...
Die Unterschiede dürften daher kommen, dass Tastencode <> Zeichencode

aus ü wird erst in Kombination mit SHIFT ein Ü

Die Zeichentabelle von Windows dürfte Dir auch weiterhelfen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: welche tabelle oder zeichsatz ist der richtige??

  Alt 5. Apr 2005, 22:54
Wenn du die Keycodes abfragst, dann haben sowohl 'a' als auch 'A' den gleichen Wert, unabhängig davon, ob dabei Shift gedrückt wurde oder nicht. Das liegt daran, dass es die gleiche Taste ist.
Bei Keycodes wird also IMHO immer der Code für den Großbuchstaben verwendet, 'A' müsste dann 65 sein.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#4

Re: welche tabelle oder zeichsatz ist der richtige??

  Alt 5. Apr 2005, 22:59
also eine lösung wie ich ganz zu anfang hatte... jetzt muß ich ja wieder alles umschreiben 127 zeichen mal 2 funktionen = 254 !!! kotz !!! trozdem danke für die hilfe
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#5

Re: welche tabelle oder zeichsatz ist der richtige??

  Alt 5. Apr 2005, 23:00
@Binärbaum: ist mir auch aufgefallen....

hier mal noch ne brauchbache tabelle: http://www.manderby.com/informatik/a...ltesascii.html
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: welche tabelle oder zeichsatz ist der richtige??

  Alt 5. Apr 2005, 23:06
Zitat von Harry M.:
also eine lösung wie ich ganz zu anfang hatte... jetzt muß ich ja wieder alles umschreiben 127 zeichen mal 2 funktionen = 254 !!! kotz !!! trozdem danke für die hilfe
Naja, man könnte das noch etwas anders machen: man speichert in einem Array die Verschlüsselung für jedes Zeichen und greift dann beim Ver-/ Entschlüsseln auf den Array zu.

Delphi-Quellcode:
const
  codetable: array [0..255] of string[3]
    = ( 'abc', 'qwe', 'wel', 'was', ..... );

...
{Statt
case OrginalTextMemo.Text[I] of
//...
    #58 : ZEICHEN := '23z'; // :    Doppelpunkt
    #59 : ZEICHEN := 'uuj'; // ;    Semikolon
    #60 : ZEICHEN := '1xq'; // <    Kleiner-als-Zeichen
//...
  end;
Schreibt man: }

  ZEICHEN:= codetable[Ord(OrginalTextMemo.Text[I])];
Vorteil ist, dass man die Tabelle auch beim Dekodieren verwenden kann.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#7

Re: welche tabelle oder zeichsatz ist der richtige??

  Alt 5. Apr 2005, 23:17
schönes beispiel leider habe ich das mit den arrays immer noch nicht so wirklich verstanden das ist für mich wie ne andere dimension(!) ich habe dazu auch scho das tut von christian stelzmann gelesen welches man als pdf in einem von den delphi-forums bekommt. habe aber leider nicht so wirklich verstanden wie es funktioniert... ich bleibe aber am ball.
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: welche tabelle oder zeichsatz ist der richtige??

  Alt 5. Apr 2005, 23:27
[OT]
Tja, nur um es kurz anzuschneiden:
Arrays kann man sich als Listen vorstellen. Statt mehrere Variablen vom selben Typ (im obigen Beispiel string[3]) zu deklarieren, nimmt man einfach einen Array, darin können mehrere Varaiblen vom selben Typ gespeichet werden. Jedes Element des Arrays hat eine Nummer (meist beginnt die Zählung bei 0 oder 1). BeimZugriff auf Arrays gibt man dann in eckigen Klammern die Nummer des Elements an, das man haben will. Also MeinArray[5] greift auf das Element mit der Nummer 5 zu.
Dann gibt es auch noch zweidimensionale Arrays, die man scih analog zu den Listen als Tabellen vorstellen kann.

(Das jetzt alles ausführlich zu erklären, würde zu weit gehen.)
[/OT]
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#9

Re: welche tabelle oder zeichsatz ist der richtige??

  Alt 5. Apr 2005, 23:35
Zitat von Binärbaum:
(Das jetzt alles ausführlich zu erklären, würde zu weit gehen.)
dafür gibt es ja auch bücher und tuts...

nochmal kurz zu der lösung von christian seehase. wie schon erwähnt diese lösung hatte ich schon zu anfang bin davon aber wieder ab, weil da zuviele unvorhergesehene zeichen auftreten können. also muß ich zwangsläufig über den zeichecode 0 - 255 gehen.
Harry
Gruß Harry
www.H-Soft.info
  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:36 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