Projektumsetzung mit VB-Script. Ich komme nicht weiter kann mir jemand helfen?


28.03.2024, 17:22

Nur als Side Info: Ich bin 15 Jahre alt und habe ungefähr vor einem halben Jahr angefangen mich mehr mit Programmierung auseinander zu setzten. Ja, ich kann und kenne sehr viele Dinge noch nicht, deswegen will ich ja lernen und eine Ausbildung machen. Ich weiß auch nicht warum ausgerechnet diese Sprache für die Aufgabe genommen wurde, ich weiß nur das ich die Aufgabe halbwegs gut meistern muss. Mir ist es nicht untersagt hilfe zu suchen, im Gegenteil, der Arbeitgeber möchte Prüfen wie ich verschiedene Probleme löse( auch mit hilfe)

Vielen Dank!

Bizarrus  28.03.2024, 17:10

A) Wieso wird hier VBS verwendet? Das wird schon lange nicht mehr regulär verwendet, B) Wenn du schon damit Schwierigkeiten hast, bin ich eher Sprachlos

ChicoIki 
Fragesteller
 28.03.2024, 17:16

A) Es ist eine Testaufgabe. Ich weiß nicht wieso VBScript dafür verwendet werden soll
B) Ich habe zuvor nur mit HTML und ein wenig Java_Script gearbeitet und noch nie mit VB-Script

evtldocha  28.03.2024, 17:50

Lass Dich von Kommentaren nicht unterkriegen. Den Schreibern wurde die Programmierweisheit auch nicht mit dem Löffel eingetrichtert.

ChicoIki 
Fragesteller
 28.03.2024, 17:53

Danke

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich habe keine Ahnung warum Irgendwer heute och auf VBScript setzt.

Die Sprache wird seit 2009 nicht mehr weiterentwickelt und wird in kürze komplett aus dem System verschwinden. Sie heute noch zu verwenden grenzt an Leichenfledderei!

und suche nun

...da kannst Du lange suchen😅

Klassisches VBScript ist nur mit sehr viel Trickserei/Missbrauch dazu fähig.

VBScript kennt weder Bytearray noch Binärdateien! Man Kann mit "Fremdobjekten" wie ADODB.Stream arbeiten, dies setzt natürlich voraus, das Diese auch im System vorhanden sind.

Zur Not kann man einen String als Behälter für einzelne Bytes/Chars verwenden. ..diesen mit der gewünschten Anzahl von zufälligen ASCII-Zeichen von 0 bis 255 füllen und anschließend in eine Datei schreiben.

...also fleddere ich mal die Leiche...:

create_random_bin_file.vbs

Input = InputBox("Enter number of Bytes to write")
'ich  verzichte auf  einen Check ob der Input eine Zahl  ist

Dim arrReportBytes(255)  'array  zum  zählen des auftretens der einzelnen zufälligen Werte
Dim myBinaryString  'fake ByteArray
Dim byteValue

'mit 0en füllen...
For n=0 To 255
  arrReportBytes(n) = 0
Next

'los  gehts...
Randomize
For n=1 To Input
   byteValue = int(Rnd*( &H0FF +1))  'zufälliger  Wert  von 0 bis 255 (0x0FF)  !!!cint()/clong() runden falsch!!! int()  rundet ab,  darum +1)
   myBinaryString = myBinaryString & Chr(byteValue) 'hänge das ASCII-Zeichen mit dem Wert an den String an

   arrReportBytes(byteValue) = arrReportBytes(byteValue) +1  'zähle  das  Auftreten  des Wertes
Next

Set FS = CreateObject("Scripting.FileSystemObject")
Set TextStream = FS.CreateTextFile("test.binary")
  'schreibe das so erzeugte falsche "Array" 
TextStream.Write myBinaryString
TextStream.Close


Set ReportFile = FS.CreateTextFile("Report.txt")
For n=0 To 255
  ReportFile.WriteLine "Wert: 0x" & Hex(n) & " existiert " & arrReportBytes(n) & " mal."
Next
ReportFile.Close


MsgBox("Fertich...")
ChicoIki 
Fragesteller
 29.03.2024, 09:35

Tut mir leid, ich weiß leider auch nicht warum ausgerechnet VBScript genommen wurde. Ich kann mich aber auch schlecht beschweren, dies soll ja immerhin eine Testaufgabe sein und es wird unteranderem getestet wie stark meine Problemlösefähigkeit geprägt ist. Vielen Dank für Ihre Antwort, Sie haben mir bisher am besten weiter geholfen. Entschuldigung für die Unannehmlichkeiten und nochmal Herzlichen Dank!

1

Der erste Schritt wäre in der Dokumentation vorbei zu schauen. Bei Visual Basic hast du sogar den Luxus das diese auf Deutsch verfügbar ist.

An sich ist das Vorgehen dabei sehr einfach. Als erstes muss natürlich eingelesen werden wie viele Zufallszahlen generiert werden sollen. Anhand der eingelesenen Anzahl würde ich ein Array vom Typ byte erstellen mit der gegebenen Kapazität. Nun ist würde ich in einer For-Schleife (hier scheinbar 'For...Next' genannt) das Array mit Zufallszahlen füllen. Im nächsten Schritt müssen natürlich die generierten Zufallszahlen in die Datei geschrieben werden. Das wars auch schon und wie du siehst findet man alles in der Dokumentation oder per Google Suche.

Ergänzung: Da du angemerkt hast das du noch nie mit Visual Basic gearbeitet hast macht auch sinn sich anzuschauen wie man überhaupt eine Anwendung erstellt (musst darauf achten, dass du dort nicht C# sondern Visual Basic auswählst).

Allerdings muss man anmerken das wie schon von Bizarrus erwähnt Visual Basic wirklich nicht mehr Zeitgemäß ist und auch wenn es eine Testaufgabe ist es nicht viel sinn macht dafür Visual Basic zu nutzen.

lg Suiram1

Woher ich das weiß:Hobby – Ich programmiere seit 3 Jahren mit C#
ChicoIki 
Fragesteller
 28.03.2024, 17:52

Wie gesagt, was sich der Arbeitgeber dabei gedacht hat weiß ich leider auch nicht, aber trotzdem Danke

0
Erzesel  28.03.2024, 23:26

das soll VBScript werden und nicht VB.Net das ist ein gewaltiger Unterschied. VBScript kennt keine Datentypen . und schon garnicht ein Array vom Typ Byte

1