hallo,
ich bin ein blutiger vb-2005-anfänger, habe aber trotzdem ein projekt gewagt: ein programm, das bestimmte dateien ver- und wieder entschlüsselt. dazu habe ich ein paar fragen:
in welcher eigenschaft kann ich festlegen, in welches verzeichnis das programm bei der aus führung von der, von vb erzeugten, setup.exe installiert wird?
wie kann ich festlegen dass bestimmte dateien (*.etu) nach der installation immer mit meinem programm(„WinETU“) geöffnet werden und welches symbol für diese dateien verwendet werden soll?
als verschlüsselungsmethode dachte ich mir folgenden weg: der inhalt der datei wird in einen string ausgelesen, welcher dann in eine zahl vom typ integer oder long konvertiert wird, die dann mit dem passwort, das aus ziffern besteht, multipliziert wird und abgespeichert wird. gibt es möglichkeiten, strings in integer- oder long-zahlen (und umgekehrt) zu konvertieren? oder gibt es eine einfachere/bessere verschlüsselungsmethode?
ich möchte, dass bei der installation ein desktopsymbol erzeugt wird. ist dies möglich?
wenn eine etu-datei (bei der schon festgelegt wurde, dass sie mit WinETU geöffnet werden soll) geöffnet wird, wird zwar WinETU gestartet, aber nicht die gewünschte datei angezeigt. wie kann ich dies erreichen?
reicht es, wenn ich bei der weitergabe die setup.exe und den rest im ordner publish weitergebe?
vielen dank schon mal im voraus fürs antworten
j.
P.S.: ich bitte nur um antworten von vb-2005-kennern (viele befehle von älteren versione funktionieren in der 2005-version nicht mehr)!
in welcher eigenschaft kann ich festlegen, in welches
verzeichnis das programm bei der aus führung von der, von vb
erzeugten, setup.exe installiert wird?
Tools - Options -
wie kann ich festlegen dass bestimmte dateien (*.etu) nach
der installation immer mit meinem programm(„WinETU“) geöffnet
werden und welches symbol für diese dateien verwendet werden
soll?
Mit dem Windows Explorer die Datei ansteuern, rechte Maustaste auf Zieldatei, Eigenschaften, ‚Öffnen mit…‘ verändern.
als verschlüsselungsmethode dachte ich mir folgenden weg:
der inhalt der datei wird in einen string ausgelesen, welcher
dann in eine zahl vom typ integer oder long konvertiert wird,
die dann mit dem passwort, das aus ziffern besteht,
multipliziert wird und abgespeichert wird. gibt es
möglichkeiten, strings in integer- oder long-zahlen (und
umgekehrt) zu konvertieren? oder gibt es eine
einfachere/bessere verschlüsselungsmethode?
Also es gibt Routinen, die Strings in Zahlen verwandeln und umgekehrt. Stichwort: StringToInt oder IntToString. Oder allgemeiner: TypeCast
Aber das .NET Framework unterstützt selbst Kryptographiealgorithmen: System.Security.Cryptography
ich möchte, dass bei der installation ein desktopsymbol
erzeugt wird. ist dies möglich?
k.A.
wenn eine etu-datei (bei der schon festgelegt wurde, dass
sie mit WinETU geöffnet werden soll) geöffnet wird, wird zwar
WinETU gestartet, aber nicht die gewünschte datei angezeigt.
wie kann ich dies erreichen?
k.A.
reicht es, wenn ich bei der weitergabe die setup.exe und
den rest im ordner publish weitergebe?
Also es reicht nur die erzeugte exe Datei des debug Ordners
P.S.: ich bitte nur um antworten von vb-2005-kennern (viele
befehle von älteren versione funktionieren in der 2005-version
nicht mehr)!
Oops Da hat jemand genatwortet, der VB 2005 noch nicht so ganz ‚aus dem Effeff‘ kennt. Aber immerhin kann er VB 2005 programmieren und hat in der IDE mal nachgeschaut…
Mit dem Windows Explorer die Datei ansteuern, rechte Maustaste
auf Zieldatei, Eigenschaften, ‚Öffnen mit…‘ verändern.
ich will aber, dass bei dem user, der das programm installiert hat etu-dateien nach der installation, ohne dass der user „nachhilft“ , mit WinETU geöffnet werden.
Also es gibt Routinen, die Strings in Zahlen verwandeln und
umgekehrt. Stichwort: StringToInt oder IntToString. Oder
allgemeiner: TypeCast
Aber das .NET Framework unterstützt selbst
Kryptographiealgorithmen: System.Security.Cryptography
ich will aber, dass bei dem user, der das programm installiert
hat etu-dateien nach der installation, ohne dass der user
„nachhilft“ , mit WinETU geöffnet werden.
Also einen Autostart vornehmen. Das ‚Öffnen mit‘ sollte also von jemand gemacht werden, der etwas von diesem kleinen Akt versteht
also irgendwie hab ich das nich kapiert. wie also (Quelltext) veverschlüssele ich den inhalt der variable text(string) mit dem scschlüssel key(string)?
also irgendwie hab ich das nich kapiert. wie also (Quelltext)
veverschlüssele ich den inhalt der variable text(string) mit
dem scschlüssel key(string)?
gibts das auch auf deutsch?? und ausserdem will ich, dass der
user das kennwort selber eingibt.
Hallo Jonas,
also wenn du weiterhin programmieren möchtest, so lege ich dir ans Herz das du auch Englisch lernen solltest. Denn ohne wirst du nicht sehr weit kommen, da die meisten Erläuterungen etc. auf Englisch sind.
Aber nungut, zu deinem Problem.
Ich selbst programmiere nicht unter .net sondern unter VB 6.
Ich poste dir hier einmal eine Routine die das bewerkstelligt. Soweit ich weiss kannst du unter .net alte VB 6 Projecte importieren und wandelt dir es dann um. Vielleicht kannst du damit etwas anfangen
Private Sub EncodeArrayB( ByRef ByteArray() As Byte, Optional ByRef Password As String )
Const MagicByte As Byte = &HFF
Dim PwdLen As Long
Dim PwdAsc As Byte
Dim i As Long
Dim j As Long
Dim LB As Long
Dim UB As Long
PwdLen = Len(Password)
Select Case PwdLen
Case 0 'Kein Password verwenden:
For i = LBound(ByteArray) To UBound(ByteArray)
ByteArray(i) = ByteArray(i) Xor MagicByte Xor (i And &HFF)
Next i
Case 1 'Einzelnes Zeichen als Password verwenden:
PwdAsc = Asc(Password) Xor MagicByte
For i = LBound(ByteArray) To UBound(ByteArray)
ByteArray(i) = ByteArray(i) Xor PwdAsc Xor (i And &HFF)
Next i
Case Else 'Password verwenden:
LB = LBound(ByteArray)
UB = UBound(ByteArray)
'Buchstaben-weise das Passwort durchlaufen:
For j = 1 To PwdLen
PwdAsc = Asc(Mid$(Password, j, 1)) Xor MagicByte
For i = LB To UB Step PwdLen
ByteArray(i) = ByteArray(i) Xor PwdAsc Xor (i And &HFF)
Next i
LB = LB + 1
Next j
End Select
End Sub
'Um Byte-weise auf die einzelnen Zeichen eines Strings zuzugreifen,
'wird der String an ein Byte-Array zugewiesen. VB würde eigentlich ein
'Zeichen in jeweils zwei Elemente des Byte-Arrays ablegen (wegen Unicode-Darstellung), daher muss der String vorher mit der VB-Funktion
'StrConv konvertiert werden (und hinterher wieder zurück).
Private Sub EncodeString( ByRef Text As String, Optional ByRef Password As String )
Dim Bytes() As Byte
Bytes = StrConv(Text, vbFromUnicode)
EncodeArrayB Bytes, Password
Text = StrConv(Bytes, vbUnicode)
End Sub
Public Function EncodeStr( ByRef Text As String, Optional ByRef Password As String ) As String
EncodeStr = Text
EncodeString EncodeStr, Password
End Function
'Diese 2 Subs und die 1 Function packst du in ein Modul. Aus der Form
'hinaus rufst du es nun wiefolgt auf
Dim s As String
s = "Hallo Welt!" 'String der verschluesselt werden soll
EncodeString s, "Password" 'String wird mit Password verschluesselt
'das (unleserliche) Ergebnis steht in s
EncodeString s, "Password"
'jetzt steht wieder "Hallo Welt!" in s
hi,
erstmal danke. mein vb sagt jetzt allerdings (nachdem ich diese ganzen „Optional“ (weil er sonst einen Standartwert verlangt hätte) weggelöscht habe), dass es „vbFromUnicode“ und „vbUnicode“ nicht gibt. was verwendet man da in vb 2005???