Hilfe bei Fehlermeldung aus kopiertem Code

  • VB.NET

Es gibt 30 Antworten in diesem Thema. Der letzte Beitrag () ist von smoshmosh.

    Hilfe bei Fehlermeldung aus kopiertem Code

    Hi,

    ich bin noch recht grün hinter den Ohren was VB angeht und ich arbeite grad ein Buch dazu durch. Ich habe allerdings ein paar Codes für mein Problem, eine Textdatei nach bestimmten Zeilen einzulesen gefunden. Wenn ich diesen "blind" reinkopiere, poppen allerdings zahlreiche Fehlermeldungen auf wie "Namespace nicht gefunden". Muss ich den Code in ein Ereignis kopieren oder muss es vorher blanko sein? Ich versteh es nicht ganz. Die Codes befinden sich unter folgenden Link[Link]

    MfG
    Danke!
    Ich bin mit dem Umfang etwas überfordert. Kannst du mir sagen, wo ich die Kapitel finde, die zu meiner Problemlösung beitragen? Habe leider nicht die Zeit mir alles anzueignen. Die basics habe ich nun durch...
    Ich möchte eine Textdatei einlesen und nach bestimmten Zeilen suchen. In diesen Zeilen sind Werte, die ich als Variablen abspeichern möchte. Das erweist sich irgendwie schwerer als gedacht
    Naja gibt dafür mehrere Lösungsansätze. Ich würde mir an deiner Stelle mal den "StreamReader" und dort speziell das ReadLine ansehen ;)
    Das in Verbindung mit ner Schleife (zB: While ^^) kann dein Problem schon fast lösen.
    Kommt auf den Inhalt und Aufbau der Datei an.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    @picoflop: Das Buch heißt "Einstieg in Visual Basic 2010"

    @MemoAnMichSelbst: Ja das habe ich schon öfter gesehen...leider verstehe ich oft nur chinesisch da ich das zum ersten Mal mache. Ich werds mir mal angucken, danke

    Edit by hal2000:
    - Vollzitat(e) entfernt. Dafür gibts die Syntax @Name:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    smoshmosh schrieb:

    Das Buch heißt "Einstieg in Visual Basic 2010"

    GalileoComputing?
    Gut geeignet für:
    - Wurfgeschoss
    - Heizmaterial
    - diverses

    schlecht geeignet für:
    - VB Net lernen

    EDIT, WICHTIG: Ich meine DIESES Buch und NICHT den Verlag!


    Nur mal so als "Anreiz":

    VB.NET-Quellcode

    1. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    2. Dim r = From s
    3. In IO.File.ReadLines("personen.txt")
    4. Let a = s.Split(" "c)
    5. Where Integer.TryParse(a(2), Nothing) AndAlso CInt(a(2)) > 30
    6. Select New With {.Name = a(0), .Ort = a(3)}
    7. For Each o In r
    8. Debug.Print(String.Format("Name = {0}, Ort = {1}", o.Name, o.Ort))
    9. Next
    10. End Sub


    Die Textdatei sieht so aus:

    Quellcode

    1. Müller Michael 33 Schuphausen
    2. Behrends Klara 17 Kachelburg
    3. Mustermann Michaele 12 Deppendorf
    4. Milbers Achim 66 Gopelfurt
    5. Brandes Bernd 49 Berneheim
    6. Dassel Andreas 23 Fubel

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „picoflop“ ()

    Gut, das von Pico is fein, aber für nen Anfänger nicht umbedingt einfach zu verstehen ;)
    Ich wüsste gerne mal, wie die Datei ausschaut.
    Ne Datei einzulesen ist nicht schwer. Aber sie auszuwerten braucht u.U. bisl Gehirnschmalz. Und das auchnoch wenn man keine Ahnung hat wie die Datei aussieht... Is schon ne harte Nummer :D
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Hey, danke für die Mühe. Das ist aber genau das, was ich meine. Ich kann absolut nicht nachvollziehen, was du gemacht hast ^^
    Wenn ich das bei mir einfüge, passiert nix. Soll das so sein?

    @MemoAnMichSelbst:

    Ein kleiner Auszug...da brauche ich z.B. die 3000 und die 30 die ich als Variablen speichern möchte.

    Quellcode

    1. 4#1#T#50#Berechnungstemperatur#design temperature#
    2. 7036#1###Zylinder#Cylindrical shell#
    3. 82#1#DIMy#1011#Material#shell material#
    4. 9973#1##0,0,1,0,0,1,0,0,0,0,1,0,# ##
    5. 85#1#v#0.85#Schweißnahtfaktor#joint efficiency#
    6. 7333#1### ##
    7. 86#1#Da#3000#Außendurchmesser#outer diameter#
    8. 87#1#se#30#vorh Wanddicke#actual wall thickness#
    9. 88#1#c1#0#Herstellungstoleranz#manufacturing tolerance#


    Edit by hal2000:
    - Vollzitat(e) entfernt. Dafür gibts die Syntax @Name:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    So, das heißt du meinst mit den 3000 und 30 die zwei Zeilen:

    Quellcode

    1. 86#1#Da#3000#Außendurchmesser#outer diameter#
    2. 87#1#se#30#vorh Wanddicke#actual wall thickness#

    Und du hast dann wahrscheinlich Variablen für Außendurchmesser und die vorherige Wanddicke.
    Weißt du denn was genau du "suchen" musst?
    Sprich: Woher weißt Du (erstmal wirklich Du und nicht das Programm), welche Inhalte in Variablen geschrieben werden sollen und vor allem: In welche Variablen diese geschrieben werden sollen?
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Ich weiß nicht ob ich dich richtig verstehe. Ich will zum Beispiel nach "86#1#Da#" oder besser noch nach "Außendurchmesser" suchen und die Zahl dahinter bzw davor haben, also die 3000. Dann würde ich sowas schreiben wie Dim Parameter1 As double = "was auch immer da steht". Das werde ich dann weiterverwenden, aber das ist klar.

    Edit by hal2000:
    - Vollzitat(e) entfernt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    Meine Frage ist:
    Weißt du wonach du suchen musst?
    Sowas wie:
    Jede Zeile den Wert nach der dritten Raute nehmen und prüfen ob vorhanden / eine Zahl und dann in eine Variable schreiben... Dann musst du ja den Variablennamen auchnoch erkennen, anhand des Wertes nach der vierten Raute.
    Aber die Datei ist ja (zumindest erkenne ich noch keines) nach keinem festen Schema aufgebaut.

    Es wäre gut, wenn Du Dir im Vorfeld genau Gedanken machst, woher soll das Programm wissen, welche Stelle in einer Zeile ist, die für dich als "Wert" wichtig ist und woher weiß das Programm, um was für einen Wert es sich handelt.

    Ich hoffe das war verständlich ^^
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Hm, gibt es denn keine Funktion um das so umzusetzen wie ich meine? Er soll nach "86#1#Da#" suchen und mir den Wert dahinter bis zur nächsten Raute geben...und dem dann den Parameter Außendurchmesser oder sowas zuweisen. Dann das gleiche für den nächsten Parameter...da sind ja halt auch viele "unnütze" Zeilen dazwischen. Ich verzweifel langsam

    Edit by hal2000:
    - Vollzitat(e) entfernt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    Du kannst dir jede Funktion bauen die du brauchst ;)
    Ich dachte als Erstes daran, dass du dir jede Zeile einzeln einliest und dann mittels der "Split" Funktion bei einer "Raute" aufteilst.
    Sprich dir aus dem Satz
    86#1#Da#3000#Außendurchmesser#outer diameter#
    die Werte liest:
    0: 81
    1: 1
    2: Da
    3: 3000
    4: Außendurchmesser
    5: outer diameter
    6: <Null>
    Dann könntest du pro Zeile gezielt auf jeden dieser Werte zugreifen und einzeln auswerten. Sprich: Schauen ob in 4 Außendurchmesser steht und wenn ja der entsprechenden Variable 3000 zuweisen.
    Dafür müsstest halt vorher wissen wonach du suchen musst.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    @MemoAnMichSelbst:

    Ich werde mir das nachher oder morgen mal genauer anschauen mit dem Readline etc...wäre cool wenn ich dann noch etwas fragen könnte, da ichs wahrscheinlich nicht alleine hinkriege xD

    Edit by hal2000:
    - Vollzitat(e) entfernt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    Programmiertechnisch ist das kein Meisterwerk.
    Das Schwierige wird wohl eher die Definition der Bedingungen sein, woher das Programm wissen soll, was es mit dem Wert anfängt.

    Würd mir da nicht so den Kopf drum machen ^^
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D