PDA

View Full Version : Coding - Textboxen speichern



h4rdc0re
26.09.2004, 19:54
hi,
wie kann ich das machen das die sachen die in den textboxen eingegeben wurden gespeichert werden, das die wenn man das prog das nächste mal öffnet die eingebenen sachen noch da stehn?

mfg h4rdc0re :)

h4rdc0re
27.09.2004, 14:42
hab jetzt glaub ich schon den Code, nur weiss ich nicht wo der hin soll, steht auch nicht in dem Tutorials wo ich den Code herhab :/


FNr = FreeFile
Open TxtFile For Binary As #FNr
zw = Space(LOF(FNr))
Get #FNr, , zw
Text1.SelText = zw
Close #FNr

Voodoo
27.09.2004, 15:25
Auch wenn du wirklich ganz nett bist. SCHAU DIR VERDAMMT NOCHMAL EIN BUCH AN! :rtfm:

Du hast noch keinerlei Grundkenntnisse und willst gleich voll loslegen. Dir fehlt sogar das Verständnis für die Abläufe. Programmieren ist net so einfach wie Microsoft Frontpage benutzen und fertig. Hier muss ein bissle mehr gemacht werden, und zwar... :buchlese: :buchlese: :buchlese: :buchlese:

Dennoch hier die Hilfe die du brauchst :). Um eine Datei auszulesen musst folgenden Code in die Funktion oder CommandButton oder in den Form.load (damit es gleich automatisch von Start an ausgeführt wird) eintragen.



DateiNr = FreeFile
Open App.Path & "\irgendeineDatei.txt" For Input As DateiNr

Do While Not EOF(DateiNr)
Line Input #DateiNr, Text1.text
Loop

Close DateiNr


Da du aber bestimmt mehrere Zeilen in der Textdatei drin hast, und diese Daten in die entsprechende Textboxen drin stehen haben willst musst du den einfach Code etwas erweitern, z.B. so... Ach ja, wichtig ist, dass du für jedes deiner Text Boxen ein Steuerlement anlegst und jede Textbox muss den selben Namen haben. In dem Beispiel Text1.text


Dim intZeile as integer

IntZeile = 0
DateiNr = FreeFile

Open App.Path & "\irgendeineDatei.txt" For Input As DateiNr

Do While Not EOF(DateiNr)
Line Input #DateiNr, Text1(intZeile).text
intZeile = intZeile + 1
Loop

Close DateiNr


Dieser Code bewirkt, dass die Zeile 0 (die erste Zeile) in die Textbox "Text1(0).text" geschrieben wird. Die zweite Zeile (Zeile 1) in die "Text1(1).text... usw.

h4rdc0re
27.09.2004, 16:14
hm also ich hab ez ein buch, nur darin find das was ich machen will net...

ich hab dein ersten code hier in die form.load reingemacht wenn ich jetzt compilen will kommt ein error: "Variable required" und dann makiert er mir das: Line Input #DateiNr, Text1.Text

Voodoo
27.09.2004, 16:19
Es bringt dir auch nicht wirklich viel nur nach fertige Codes im Buch zu suchen, sondern fang wie jeder andere Programmierer auch mit dem typischen "Hello World" an :) Ich empfehle dir wenn du das ernsthaft machen willst, es von vorne zu lesen.

Wegen der variable. Die Textbox muss natürlich auch text1.text heißen. Und in dem von dir gewählten Beispiel darfst du auch keinen index setzen, d.H. nicht mehrere gleiche Textboxen mit dem selben Namen erstellen.

h4rdc0re
27.09.2004, 16:33
hm bei meinem buch gibts kein "Hello World" , hab das Visual basic in 21tagen buch.

Die textbox heisst text1, hab probiert ohne das .text dahinter geht aber auch nicht, kommt der gleiche fehler :/

Voodoo
27.09.2004, 16:43
wenn du im Code "text1." eingibst, dann müsste eine Auswahl an Befehle kommen, die du nutzen kannst. Ist da ein Text oder ein Caption drin? Kommt da überhaupt was?

h4rdc0re
27.09.2004, 16:45
also Text ist drin aba Caption nicht

Voodoo
27.09.2004, 16:46
also... und wenn da text drin steht, dann gibt es text auch :)

h4rdc0re
27.09.2004, 16:49
hm aba dann kommt wieder der fehler... hab eben noch was vergessen da steht noch "can't assign to this expression"

edit: soll ich dir vielleicht mal das alle schicken? vielleicht liegt das ja an meiner version

Voodoo
27.09.2004, 17:03
kannst machen. Alles zippen und zu mir schicken.

h4rdc0re
27.09.2004, 17:53
ich habs geupt
http://mitglied.lycos.de/h4rdc0repw/MuhSports/projekt.rar

h4rdc0re
29.09.2004, 18:39
ich weiss jetzt wie ich die datei einlesen kann aber da kommt dann immer Datei bereits geöffnet... kA warum :/ hatte auch pc neugestartet falls die irgendwie im speicher rumlungert oda so kp^^ naja hier is der code

Private Sub Form_Load()

FNr = FreeFile
Open "name1.cfg" For Input As #FNr
Text1.SelText = Input(LOF(FNr), #FNr)
Close #FNr

End Sub


Private Sub Text1_Change()

Dim DateiNr As Integer
DateiNr = FreeFile

Open App.Path & "\name1.cfg" For Output As DateiNr
Print #DateiNr, "name """ & Text1.Text; ""
Close #DateiNr

End Sub



bitte nocheinmal helfen :)

Voodoo
30.09.2004, 13:57
Benutz doch einfach mein Voodoo Skript und versuch doch nicht einfach meins nachzuprogrammieren und es als euers auszugeben :) Vor allem da ich den Quellcode ja eh schreiben darf 8)

Warum dein oben geposteter Code nicht funzt ist ja klar. Du tust nur beim laden des Formular ein Freefile Nummer bestimmen, doch bei jeder Änderung in der Textbox wird ein Schreibvorgang getätigt. Das geht natürlich so schnell, dass VB nicht nachkommt mit Schließen der Datei und benutzt deshalb die selbe File-Nummer. Macht übrigens wenig Sinn, so wie du es angehst :)

h4rdc0re
30.09.2004, 16:14
wieso programmier ich deins nach? o_O kannst ja zujedem sagen der sich nen fenster mit textboxen für cs sachen macht, mach mir das net nach. Ausserdem mach ich das nur fürn freund und mich

lord_schuldig
02.12.2005, 17:33
über was redet ihr da? :wallbash: :wallbash:

Sith
02.12.2005, 17:54
VB = Visual Basic = Programmiersprache

vamp
02.12.2005, 17:57
programmieren suxx...