![]() |
Hilfe bei ascii dualsystem
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe Leute ich bin mal wieder auf eure Hilfe angewiesen. Ich habe ein Projekt angefangen und würde gerne normale Wörter in Ascii codes umwandeln und anschliesend im Dualsystem anzeigen lassen. Dies soll auch alles andersrum gehen;) Ich habs bis jetzt hingekriegt das ich Texte in Ascii umwandeln kann und ascii im Dual (leider wird das auf mysterioser nicht angezeigt) der rest is noch nicht programmiert doch schon bisschen schauts euch einfach an ;) wäre super toll wenn ihr mir helfen würdert
|
Re: Hilfe bei ascii dualsystem
Hi!
Wo geau hängt es denn? Was funktioniert nicht? Gibt es Fehlermeldungen? Vllt. kannst du es auf einzelne Prozeduren eingrenzen (dann bitte deren Code posten)... Ciao, Frederic |
Re: Hilfe bei ascii dualsystem
Hallo Gaui,
Habe mir dein Projekt mal geladen und angesehen, wo genau leigt Dein Problem. MFG Jens |
Re: Hilfe bei ascii dualsystem
Habe mal eine bißchen im Forum gesucht,
Schau dir mal diesen lang an, ![]() Müsste eventuell für dich von Intresse sein. MFG Jens |
Re: Hilfe bei ascii dualsystem
also der erste fehler liegt darin das
Delphi-Quellcode:
wenn ich F9 drücke wird der debugger nicht aktiviert weil der nicht inttostr kennt. Ich könnte zwar eure lösungsvorschläge nehmen aber ich schreibe eine Facharbeit über bild steganografie und muss das selbst machen ;) also wäre cool wenn ihr mir mit meinem helfen könntet
//-------- AsciitoDual (public) ----------------------------------------
function TAsciiControl.AsciitoDual (pAscii: integer) : string; var lWert,lZwischenwert :integer;lendwert,lErgebnis :string; begin lWert:= pAscii; // der Wert aus pAscii wird lWert zugewiesen repeat lzwischenwert:= lwert mod 2; // teilen mit rest, Ergebnis wird in einer lokalen Variable gespeichert lendwert:= inttostr(lzwischenwert); // lzwischenwert wird in einen integer verwandelt insert(lendwert,lErgebnis,1); // lendwert wird an der ersten stelle des strings lergebnis eingefügt, da der Dualwert von hinten gelesen werden muss until lwert mod 2 <= 1 ; // dies wird solange wiederholt bis lwert durch 2 geteilt wird und als rest entweder 1 oder 0 raus kommt result := lErgebnis end; |
Re: Hilfe bei ascii dualsystem
schau mal in der Hilfe nach in welcher Unit bei delphi5 IntToStr definiert ist. bei TurboDelphi ist es in SysUtils, die bei einem neuen projekt automatisch in dies uses aufgenommen wird.
Evtl. liegt es bei D5 ja wo anders, bzw. bindet die SysUtils nicht automatisch ein. Gruß tr909 |
Re: Hilfe bei ascii dualsystem
ne also bei einem anderen Fall klappt es ja nur hier ich nicht is sehr seltsam ;)
|
Re: Hilfe bei ascii dualsystem
Ich fang mal mit dem ersten Problem an:
Delphi-Quellcode:
so hier zeigt er in der der Zeile
procedure TForm1.Button1Click (Sender: TObject);
var lText,lAsciiErgebnis,lDualergebnis,laktuellerBuchstabe, lAsciizwischenWert,lDualzwischenwert :string; z,lwert : integer; begin lText:= mText.text ; for z:=1 to length (lText) do begin //Ascii umwandeln laktuellerBuchstabe:= lText[z]; //z-ter Buchstabe aus dem gesamten Text lAsciizwischenwert:=hatAsciiControl.TexttoAscii(lAktuellerBuchstabe); // z-ter Buchstabe wird in Ascii umgewandelt lAsciiErgebnis:= lAsciiErgebnis + lAsciizwischenwert; // zusammenfassen der Ergebnisse bis z die Länge des Textes erreicht lWert:= strtoint(lAsciizwischenwert); // z-ter Buchstabe der ein Asciiwert also string in integer geändert lDualzwischenwert:=inttostr(hatAsciiControl.AsciitoDual(lWert)); // // z-ter Buchstabe aus Ascii wird in Dual geändert mDual.text:=(lDualzwischenwert); // Dualsystemwert wird dem memofeld zugewiesen mDual.text:='#'; end; mascii.text:= lAsciiErgebnis; // Asciicode wird dem Memofeld zugewiesen end;
Delphi-Quellcode:
den fehler
lDualzwischenwert:=inttostr(hatAsciiControl.AsciitoDual(lWert)); // // z-ter Buchstabe aus Ascii wird in Dual geändert
Delphi-Quellcode:
die methode AsciitoDual sieht dann so aus
[Fehler] ASCII.pas(63): Es gibt keine überladene Version von 'IntToStr', die man mit diesen Argumenten aufrufen kann
Delphi-Quellcode:
leider kann ich das aufgrund des vorrangehenden fehlers nicht uberprüfen
function TAsciiControl.AsciitoDual (pAscii: integer) : string;
var lWert,lZwischenwert :integer;lendwert,lErgebnis :string; begin lWert:= pAscii; // der Wert aus pAscii wird lWert zugewiesen repeat lzwischenwert:= lwert mod 2; // teilen mit rest, Ergebnis wird in einer lokalen Variable gespeichert // lendwert:= inttostr(lzwischenwert); // lzwischenwert wird in einen integer verwandelt insert(lendwert,lErgebnis,1); // lendwert wird an der ersten stelle des strings lergebnis eingefügt, da der Dualwert von hinten gelesen werden muss until lwert mod 2 <= 1 ; // dies wird solange wiederholt bis lwert durch 2 geteilt wird und als rest entweder 1 oder 0 raus kommt result := lErgebnis end; habt ihr ne idee??? |
Re: Hilfe bei ascii dualsystem
Delphi-Quellcode:
.. dann überlege einmal was für einen RückgabeTyp Deine Funktion AsciiToDual hat.
lDualzwischenwert:=inttostr(hatAsciiControl.AsciitoDual(lWert)); // // z-ter Buchstabe aus Ascii wird in Dual geändert
.. und muß man diese noch von Integer nach String wandeln? Grüße Klaus |
Re: Hilfe bei ascii dualsystem
Habe mal dein Programm getestet und bekomme es ans laufen.
Du solltest mal folgende uses Anweisung dir anschauen:
Delphi-Quellcode:
In deinem Unit fehlt die uses Anweisung ganz.
UNIT mTAsciiControl;
interface //-------------------- ggf Uses-Liste einfügen ! -------------------- uses Windows, SysUtils; MFG Jens |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 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