• 08.07.2025, 10:49
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Eumel

God

[C++] Funktion von Visual Basic umschreiben

Freitag, 29. Oktober 2004, 21:36

Hi!

(hoffentlich antwortet jemand auf diese Frage^^):

Wie kann ich folgende Funktion in C++ realisieren:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub encrypt(file As String)
  Dim data As Long, NumBytes As Long, Flag As Long, q
   
  Flag = Val("123")
  NumBytes = FileLen(file)
    
  Open file For Binary As #1

  For q = 1 To NumBytes
    Get #1, q, data
    Put #1, q, data + Flag
  Next q

  Close #1
End Sub


MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

Y0Gi

God

Re: [C++] Funktion von Visual Basic umschreiben

Freitag, 29. Oktober 2004, 22:46

soll das da etwa ne programmiersprache sein?

maZzE

Full Member

Re: [C++] Funktion von Visual Basic umschreiben

Freitag, 29. Oktober 2004, 23:57

Sorry aber ich kann nicht beide Sprachen. Aber wenn du sagst was die Funktion macht kann ich oder andere dir vieleicht eher helfen!

LordHelmchen

Senior Member

Re: [C++] Funktion von Visual Basic umschreiben

Samstag, 30. Oktober 2004, 00:38

Zitat von »maZzE«

Sorry aber ich kann nicht beide Sprachen. Aber wenn du sagst was die Funktion macht kann ich oder andere dir vieleicht eher helfen!



Was die Funktion macht sieht man doch: Sie liest byteweise aus einer Datei und schreibt jedes Byte mit einem Offset von 123 zurück. Wirklich merkwürdig ist es allerdings, die 123 erst als String anzugeben und sich dann per VAL() den numerischen Wert zurückgeben zu lassen.

Wer wohl auf die Idee gekommen ist, sowas encrypt zu nennen ;)

maZzE

Full Member

Re: [C++] Funktion von Visual Basic umschreiben

Samstag, 30. Oktober 2004, 01:56

Ich hab mal alles aufgeschrieben was du zum schreiben und lesen in eine Datei brauchst. Find ich personlich besser weil der lerneffekt größer ist.

Lesen von einer Datei
Stream- Instanz erstellen
ifstream datEingabe;

Datei öffnen
datEingabe.open( c:\\hallo.txt , ios::in); (nur zum Lesen)
datEingabe.open( c:\\hallo.txt , ios::in | ios::binary); ( /n nicht umwandeln)


Öffnen der Datei erfolgreich?
if(datEingabe.good())...

Position des Dateizeigers ermitteln
int iPos = datEingabe.tellg();

Dateiende erreicht?
if(datEingabe.eof())...

Position des Dateizeigers setzen

an den Dateianfang springen
datEingabe.seekg(0, ios::end);

3 Zeichen zurück springen
datEingabe.seekg(-3, ios::cur);

ans Dateiende springen
datEingabe.seekg(0, ios::beg);

Einlesen von der Datei
einzelnes Zeichen
char chZeichen;
datEingabe.get(chZeichen);


eine Zeile
char chZeile[80];
datEingabe.getline(chZeile, 80);


Instanz einer Klasse
CKlasse instanz;
datEingabe.read((char*)&instanz, sizeof(instanz));


Datei schliessen
datEingabe.close();

Schreiben in eine Datei

Stream- Instanz erstellen
ofstream datAusgabe;

Datei öffnen
datAusgabe.open( c:\\hallo.txt , ios::out); (Vorhandene Datei wird überschrieben)
datAusgabe.open( c:\\hallo.txt , ios::app); (anhängen an Datei)
datAusgabe.open( c:\\hallo.txt , ios::out | ios::binary);( /n nicht umwandeln)


Öffnen der Datei erfolgreich?
if(datAusgabe.good())...
Position des Dateizeigers ermitteln
int iPos = datAusgabe.tellp();

Dateiende erreicht?
if(datAusgabe.eof())...

Position des Dateizeigers setzen an den Dateianfang springen datAusgabe.seekp(0,ios::end);

ans Dateiende springen
datAusgabe.seekp(0,ios::beg);

Schreiben in die Datei einzelnes Zeichen
char chZeichen= x ;
datAusgabe.put(chZeichen);


Text
char chText= Hallo\nWelt! ;
datAusgabe << chText;


Instanz einer Klasse
CKlasse instanz;
datAusgabe.write((char*)&instanz, sizeof(instanz));


Datei schliessen
datAusgabe.close();

Eumel

God

Re: [C++] Funktion von Visual Basic umschreiben

Samstag, 30. Oktober 2004, 14:12

@Yogi

Du bist doof :P ;) bzw. haste wohl noch nie was von Microsofts Programmiersprache BASIC gehört. Aber ist schon richtig, dass die Kacke is :)

@Erklärbär

Funktion ist nicht von mir. Ist aber in der Tat eine Art Textverschlüsselung (wenn auch keine besonders gute^^). Man braucht eben die Flag zum Entschlüsseln.

@maZzE

Besten Dank! :)

MfG

Edit:

Zitat

datEingabe.open( c:\\hallo.txt , ios::in &#124; ios::binary); ( /n nicht umwandeln)

Öffnen der Datei erfolgreich?
if(datEingabe.good())...


Geht nicht. Es gibt weder in, binary noch good.
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

x-stars

God

Re: [C++] Funktion von Visual Basic umschreiben

Samstag, 30. Oktober 2004, 23:53

Zitat von »Saiyaman«

@Yogi

Du bist doof :P ;) bzw. haste wohl noch nie was von Microsofts Programmiersprache BASIC gehört. Aber ist schon richtig, dass die Kacke is :)



Ich galub nicht dass Yogi die nicht kennt, er meinet wohl was anderes (rate Mal ;D)
"Live free or die: Death is not the worst of evils."

Rotring

Full Member

Re: [C++] Funktion von Visual Basic umschreiben

Sonntag, 31. Oktober 2004, 13:08

hhast dus mal mit include "fstream.h" versucht?

maZzE

Full Member

Re: [C++] Funktion von Visual Basic umschreiben

Sonntag, 31. Oktober 2004, 15:45

Ich hab zurzeit kein Rechner, also kann ichs nicht ausprobieren und ein Beispielprogramm hab ich auch nur auf meinem Hauptrechner, der wiegesagt nicht zur verfügung steht.
Aber soweit ich mich erinnern kann brauchst du nur:
#include <conio.h>
#include <iostream.h>

Eumel

God

Re: [C++] Funktion von Visual Basic umschreiben

Sonntag, 31. Oktober 2004, 19:38

Hab diese Verschlüsselungsmethode durch TripleDES ersetzt. Die C++ Funktion dafür hab ich hinbekommen^^

MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.