VB6, Fensterinhalt dynamisch aus Text einlesen

  • #1
M

m.friedrichs

Mitglied
Themenersteller
Dabei seit
08.09.2005
Beiträge
6
Reaktionspunkte
0
Hallo.

Ich bin noch relativ neu, habe aber schon das Auslesen aus einer Ini-Datei umgesetzt (Ist , glaube ich, diese Winsock-Funktion). Ich arbeite mit VB6.

Nun würde ich gerne ein einziges Fenster programmieren, dass seine Daten aus den jeweils nächsten 2 Zeilen dieser Ini datei holt und dann auf eine Eingabe und deren Bestätigung (OK-Button) wartet.

Mit meinem Schleifen-Denken bin ich irgendwie nicht weitergekommen, weil mir nicht klar ist, wie ich die Tastatureingabe dazwischen einbauen kann..?

Vielen Dank für Eure Hilfe.
Michael
 
  • #2
Hallo,

ein Tip von mir:
Kauf dir ein gutes Buch über VB6 und lies das durch!
Bei www.amazon.de kannst du billigere, gebrauchte Bücher zum Thema bekommen.
Mir scheint, du hast das Programmier-Paradigma von Windows noch nicht recht verstanden! Das ist aber, auch mit VB6, Grund-Vorraussetzung um Programme für Windows zu schreiben!

Sorry, aber so ist das nun mal...

Gruss

Reiner

PS.: Übrigens, das Auslesen von INI-Dateien hat mit dieser WinSock-Funktion NICHTS zu tun!
 
  • #3
Sorry, aber so ist das nun mal...
:eek: :eek:

Die Entschuldigung nehm ich an :-\
Ich hatte einen anderen Eindruck von diesem Forum :-[
Was trägt dieser Vorschlag konstruktiv zu meiner Frage bei ?
Heisst das jetzt, dass Du nicht antworten möchtest, oder dass Du es nicht kannst ?

Ganz nebenbei habe ich hier folgende Bücher:
Visual Basic 6 , Michael Kofler, Addison Wesley (!)
Micrososft Visual Basic, Microsoft Corporation, Microsoft Press (!)

Beide geben mir gerade keinen Aufschluss über meine Problematik, da sie das
Auslesen aus ini-dateien , wie ini-Dateien überhaupt,-nicht behandeln.
Ob das jetzt über die Winsock Funktion arbeitet,- das sei dahin gestellt, ich habe da was mit Copy und Paste ans Laufen gebracht und kann jetzt, während ich schreibe, nicht in den Quelltext gucken. Allerdings habe ich einen leicht verblassten Eindruck von Basic, Pasqual und Cobol, der mir den Gedanken nahe legt, es müsse mit einer Art Schleife ganz einfach und effektiv zu bewältigen sein.

Wenn man hier keine Fragen stellen darf, sondern nur Bücher-Tips erhält, dann sollte man für wintotal-forum.de eine Weiterleitung auf Amazon.de anlegen.. ???

Was ist denn hier los, in den Foren ?


Gruß,
Michael
 
  • #4
Hi.
Ein richtiges Beispiel für den Umgang mit ini-Dateien findest Du hier: http://www.vbgamer.de/vb/index.htm (Dort auf Tipps und Tricks -> Dateisystem -> Programm- Einstellungen speichern (INI-Datei)). Läd Dir das Projekt am besten runter, es ist kommentiert.

Deine anderen Fragen (bzgl. Schleife und OK-Button) sind mit dem obigen Beispiel wohl überflüssig, werden aber im Koffler-Buch auf S. 210 (Command-Button) und S.131 (Generelle Variablen) beantwortet. Solltest Du durcharbeiten, sind wirklich Grundlagen. Wenn Du noch fragen hast, poste am besten den Code mit dem Du nicht klar kommst.
 
  • #5
Hi FizBin,

ich hatte doch gleich irgendwie den Eindruck, dass sich hier im Forum ein paar gute Seelen tummeln :).

Darauf wäre ich nie gekommen: Unter dem CommandButton nachzuschlagen (Das Buch hat 1197 Seiten).
Es sieht so aus, als könnte ich mein Problem damit lösen.
Super herzlichen Dank für den Hinweis !
Ich werde es durcharbeiten und mich nachher nochmal melden, ob es geklappt hat.

Schöne Grüße,
Michael.
 
  • #6
Danke, hat wunderbar funktioniert ! :)


Damit ich mit meiner Erkenntnis nicht alleine bleibe, poste ich hier mal mein (abgespecktes) Erfolgsergebnis:

Code:
Public Sub Command1_Click()
Dim [Variablendeklaration]

'Öffnen der Ini-Datei
  MyIniFile = App.Path & \ & mathos.ini
 
'Zeiger auslesen, welcher Datensatz zuletzt gezeigt gelesen wurde
  i = INILesen(Datensatz, Nummer, MyIniFile)

'Auslesen, wie oft der Datensatz ausgelesen werden soll
  Anzahl = INILesen(Aufgaben, Anzahl, MyIniFile)

'Zeiger mit Datensatzanzahl vergleichen und wiederholen, solange der Zeiger kleiner ist. 
  If i < Anzahl Then

'Form neuladen und damit den nächsten Datensatz anzeigen
  dlg_aufgaben.Form_Load

  Else

'Bei erreichen der Datensatzanzahl den Zeiger zurücksetzen,...
  Dummy$ = INISchreiben(Datensatz, Nummer, 0, MyIniFile)

' ...den Abschiedsdialog öffnen... 
  frm_main.Form_Ende

'...und den aktuellen Dialog schliessen
   Unload Me 
   End If

   End Sub

_______________________________________________

Public Sub Form_Load()

 
 Dim [Variablendeklaration]

' Öffnen der INI-Datei, Zeiger auslesen, hochsetzen und zurückschreiben.
  MyIniFile = App.Path & \ & mathos.ini
  i = INILesen(Datensatz, Nummer, MyIniFile)
  i = i + 1
  Dummy$ = INISchreiben(Datensatz, Nummer, i, MyIniFile)

'Datensatzdatei öffnen
  MyDataFile = App.Path & \ & mathos.dat

'Datensatznummer übergeben und in der Variablen Aufgabe speichern.
'(Datensatz Nr. 1 ist 1 = [Datensatz], Datensatz Nr.2 ist 2 = [Datensatz], etc.)
' - Ja, ich habe Streit mit Variablen-Deklarationen, und hier stark improvisiert ;)

  satz$ =  & i & 
  sAufgabe = INILesen(Aufgaben, satz$, MyDataFile)

'Zuweisen des Datensatzes zum entsprechenden Textfeld
  lblaufgabe.Caption = sAufgabe
   
End Sub


Ich habe es irgendwie nicht hinbekommen, die Variable in der Main-Form einzulesen und dann an die Aufgaben-Form zu übergeben ?
Ich hab's leider auch nicht geschafft, diese Variable von der _Load an die _cmdClick zu übergeben, obwohl ich alles als Public deklariert habe, was möglich war... ;)
Deshalb habe ich den Zeiger eingesetzt.
Ist das mit VB nicht anders möglich ?


Gruß,
Michael
 
  • #7
Hi.
Ein Posting im alten Thread hätte es ja auch getan ;)

Schlag mal unter Gültigkeitsbereiche von Variablen nach.

Soll eine Variable in einem Formular in allen Funktionen und Proceduren bekannt sein, deklariert man sie oben in einer Form.
Soll eine Variable in einem ganzen Projekt verfügbar sein, deklariert man sie am besten in einem Modul als Public.
 
  • #8
arrgh.. :-\

Sorry.
Das hatte ich auch vor, habe wohl versehentlich den falschen Button geklickt.


Admin ?

Kann das jemand verschieben, nach hier ? -> [blue]*PCDBjörn: Themen zusammengefügt*[/blue]


Danke
Michael
 
Thema:

VB6, Fensterinhalt dynamisch aus Text einlesen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben