|
| Autor |
Nachricht |
ShockerZz Tutorial Leser


Anmeldedatum: 04.04.2009 Beiträge: 34
|
Builder in VB2008
Verfasst am: 04.04.2009, 12:21 |
|
|
Wie kann ich einen einfachen Builder erstellen?
In dem Fall geht es nicht darum, einen ganzen Trojaner-Server zu builden oder so, sondern nur ein kleines Programm, bei dem ein ganz bestimmter Text ausgetauscht werden soll. Dieser Text hat allerdings eine nicht feste Länge, kann also nur 2-3 Zeichen oder auch mehrere Zeilen lang sein, je nachdem was der Nutzer eingibt.
Ich suche schon lange nach einem derartigen Beispiel oder Tutorial, doch leider finde ich immer nur Sachen bei denen VB6 benutzt wird. |
|
| |
|
 |
b6d Tutorial Leser

Anmeldedatum: 28.01.2009 Beiträge: 31
|
|
| |
|
 |
Marduk_ « Moderator »

Anmeldedatum: 17.06.2007 Beiträge: 389
|
Verfasst am: 13.04.2009, 15:27 |
|
|
Wie ich auch in dem Thread geschrieben habe, geht es mit der IO-Klasse um Welten leichter. Von dem ganzen alten VB6 Kram mal nicht gesprochen abgesehen
Mal ein kleines Beispiel (allerdings C#):
Anhängen der Daten:
| Code: |
private void button1_Click(object sender, EventArgs e)
{
string text = textBox1.Text; // Text der angehängt wird
byte[] add = new byte[text.Length];
add = System.Text.Encoding.ASCII.GetBytes(text); // String -> Byte
string me = Application.ExecutablePath.Replace(Application.StartupPath + "\\", ""); // Eigenen Dateinamen
StreamReader sr = new StreamReader(me);
byte[] buffer = new byte[sr.BaseStream.Length]; // Byte-Array mit der Größe unserer Datei anlegen
sr.BaseStream.Read(buffer, 0, (int)sr.BaseStream.Length); // Datei ins Array laden
sr.Close();
List<byte> result_buffer = new List<byte>(); // Zwischenspeicher für Datei-Array und Text-Array
foreach (byte b in buffer)
result_buffer.Add(b);
foreach (byte b in add)
result_buffer.Add(b);
byte[] tmp = new byte[result_buffer.Count]; // noch mal umspeichern, uninteressant
for (int i = 0; i < result_buffer.Count; i++)
tmp[i] = result_buffer[i];
StreamWriter sw = new StreamWriter(Application.StartupPath + "\\2" + me); // Byte-Array mit unseren Infos in eine
sw.BaseStream.Write(tmp, 0, tmp.Length); // neue Datei schreiben und speichern.
sw.Close();
}
|
Auslesen der Daten:
| Code: |
private void button2_Click(object sender, EventArgs e)
{
string me = Application.ExecutablePath.Replace(Application.StartupPath + "\\", ""); // Dateiname rausfinden
StreamReader sr = new StreamReader(Application.StartupPath + "\\2" + me);
byte[] buffer = new byte[sr.BaseStream.Length]; // Byte-Array anlegen
sr.BaseStream.Read(buffer, 0, (int)sr.BaseStream.Length); // Datei in den Buffer laden
sr.Close();
int len = buffer.Length; // Daten am ENDE auslesen
byte[] text = new byte[5]; // hier: Wort mit 5 Buchstaben
text[0] = buffer[len - 5];
text[1] = buffer[len - 4];
text[2] = buffer[len - 3];
text[3] = buffer[len - 2];
text[4] = buffer[len - 1];
label1.Text = ASCIIEncoding.ASCII.GetString(text); // Byte -> String
}
|
Das Prog hängt an sich selber ein Wort an (hier zb "hallo") und speichert das in eine neue Datei. Kann man aber auch änder, dass die Datei in sich selber schreibt. |
|
| |
|
 |
|
|