Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hilfe bei ascii dualsystem (https://www.delphipraxis.net/128233-hilfe-bei-ascii-dualsystem.html)

gaui 26. Jan 2009 17:28


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

fkerber 26. Jan 2009 19:14

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

Jens Hartmann 26. Jan 2009 20:45

Re: Hilfe bei ascii dualsystem
 
Hallo Gaui,

Habe mir dein Projekt mal geladen und angesehen, wo genau leigt Dein Problem.


MFG

Jens

Jens Hartmann 26. Jan 2009 21:30

Re: Hilfe bei ascii dualsystem
 
Habe mal eine bißchen im Forum gesucht,

Schau dir mal diesen lang an,

Ascii <--> Dual


Müsste eventuell für dich von Intresse sein.

MFG

Jens

gaui 27. Jan 2009 17:13

Re: Hilfe bei ascii dualsystem
 
also der erste fehler liegt darin das
Delphi-Quellcode:
//-------- 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;
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

tr909 27. Jan 2009 17:35

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

gaui 27. Jan 2009 17:36

Re: Hilfe bei ascii dualsystem
 
ne also bei einem anderen Fall klappt es ja nur hier ich nicht is sehr seltsam ;)

gaui 27. Jan 2009 17:41

Re: Hilfe bei ascii dualsystem
 
Ich fang mal mit dem ersten Problem an:
Delphi-Quellcode:
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;
so hier zeigt er in der der Zeile
Delphi-Quellcode:
 lDualzwischenwert:=inttostr(hatAsciiControl.AsciitoDual(lWert)); // // z-ter Buchstabe aus Ascii wird in Dual geändert
den fehler
Delphi-Quellcode:
[Fehler] ASCII.pas(63): Es gibt keine überladene Version von 'IntToStr', die man mit diesen Argumenten aufrufen kann
die methode AsciitoDual sieht dann so aus
Delphi-Quellcode:
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;
leider kann ich das aufgrund des vorrangehenden fehlers nicht uberprüfen

habt ihr ne idee???

Klaus01 27. Jan 2009 20:30

Re: Hilfe bei ascii dualsystem
 
Delphi-Quellcode:
lDualzwischenwert:=inttostr(hatAsciiControl.AsciitoDual(lWert)); // // z-ter Buchstabe aus Ascii wird in Dual geändert
.. dann überlege einmal was für einen RückgabeTyp Deine Funktion AsciiToDual hat.
.. und muß man diese noch von Integer nach String wandeln?

Grüße
Klaus

Jens Hartmann 27. Jan 2009 21:37

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:
UNIT mTAsciiControl;

interface


//--------------------  ggf Uses-Liste einfügen !  --------------------
uses
  Windows, SysUtils;
In deinem Unit fehlt die uses Anweisung ganz.

MFG

Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 Uhr.
Seite 1 von 2  1 2      

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