Hallo,
wie kann man sich die letzten Eingaben in einer Textbox wieder anzeigen, bzw. mit welchem anderen Eingabefeld Typ läßt sich so etwas realisieren?
Vielen Dank
Gruß
Gunter
Hallo,
wie kann man sich die letzten Eingaben in einer Textbox wieder anzeigen, bzw. mit welchem anderen Eingabefeld Typ läßt sich so etwas realisieren?
Vielen Dank
Gruß
Gunter
Hi Gunter,
wie kann man sich die letzten Eingaben in einer Textbox wieder
anzeigen, bzw. mit welchem anderen Eingabefeld Typ läßt sich
so etwas realisieren?
Das verstehe ich nicht. Kannst Du das mal näher erklären?
Möchtest Du Texte zurück holen, die nicht mehr angezeigt werden? Wenn ja, musst Du das in jedem Fall selbst programmieren, das kann kein Steuerelement.
Gruß, Rainer
Hi Rainer,
es gibt in verschiedenen Programmen Eingabefelder bei denen man dann per Dropdown-Menü die letzten Eingaben sich anzeigen bzw. abrufen kann. Die Eingaben kann man sich ja irgendwo in einem File merken, wie aber macht man das DropDown Menü.
Ich werde mal nach einem Beispiel suchen, damit du dir das vorstellen kannst.
Gruß
Gunter
Das verstehe ich nicht. Kannst Du das mal näher erklären?
Möchtest Du Texte zurück holen, die nicht mehr angezeigt
werden? Wenn ja, musst Du das in jedem Fall selbst
programmieren, das kann kein Steuerelement.Gruß, Rainer
Hi Rainer,
ein Beispiel ist der Internetexplorer mit der Adresseingabe. Da kann man das Feld ja aufklappen und dann die letzten Eingaben auswählen.
Gruß
Gunter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
es gibt in verschiedenen Programmen Eingabefelder bei denen
man dann per Dropdown-Menü die letzten Eingaben sich anzeigen
bzw. abrufen kann. Die Eingaben kann man sich ja irgendwo in
einem File merken, wie aber macht man das DropDown Menü.
Hi Gunter,
beim Betreten der TextBox (GetFocus, MouseDown, Click o.ä) eine Listbox sichtbar machen (visible) unterhalb der TextBox die den Inhalt der Historie.txt abbildet.
Beim Verlassen der TextBox, ListBox unsichtbar machen , wenn TextBoxinhalt geändert, diesen Wert in die Historie.txt nach dem LIFO Prinzip eintragen.
Gruß
Reinhard
Hi Gunter,
ein Beispiel ist der Internetexplorer mit der Adresseingabe.
Da kann man das Feld ja aufklappen und dann die letzten
Eingaben auswählen.in jedem Fall selbst
OK, verstanden. Das gibt es nicht fertug, musst Du selbst schreiben. Wie Reinhard schon geschrieben hat, z.B. mit einem Listensteuerelement z.B.
Das kann man ja in einer eigenen Form unterbringen, ohne Ränder …
Mit Code kann ich bis auf weiteres nicht helfen, mein Computer hat sich verabschiedet, ich tippe gerade an einem IMac.
Gruß, Rainer
Hi Reinhard,
werde mein Glück mal versuchen. Danke.
Gruß
Gunter
Hi Gunter,
beim Betreten der TextBox (GetFocus, MouseDown, Click o.ä)
eine Listbox sichtbar machen (visible) unterhalb der TextBox
die den Inhalt der Historie.txt abbildet.Beim Verlassen der TextBox, ListBox unsichtbar machen , wenn
TextBoxinhalt geändert, diesen Wert in die Historie.txt nach
dem LIFO Prinzip eintragen.Gruß
Reinhard
Hallo Gunter,
das laesst sich relativ leicht mit einer Combobox realisieren.
Es kommt nun darauf an, wie du es haben magst!
Sollen nur die Eintraege angezeigt werden, die zum Anfang der bisherigen Eingabe passen oder alle?
Sollen alle Daten angezeigt werden, wenn noch nichts eingegeben wurde?
Was ist wenn das Programm beendet wurde und wieder neu gestartet wurde? Sollen dann die Daten noch vorhanden sein oder nicht mehr?
Soll eine Begrenzung der letzten Eintraege vorhanden sein? Sprich das nur die letzten 10 Eintraege gespeichert werden?
Wie du siehst, stellen sich hier viele Fragen auf!
Wo würdest du denn dann gerne die Eintraege speichern?
Man koennte dazu ein File nutzen ( Was ich nicht für gut halte)
Man koennte die registry dazu nutzen ( Würde ich vorziehen )
MfG Alex
@Rainer: Waere das mal nicht eine Idee, solch ein OCX zu erstellen? *zwinker* Sollte man binnen 10 Minuten fertig haben
Hi Alex
@Rainer: Waere das mal nicht eine Idee, solch ein OCX zu
erstellen? *zwinker* Sollte man binnen 10 Minuten fertig haben
bis auf weiteres programmiere ich gar nichts, ich habe nämlich kein VB.
Mein Schleppi bootet nicht mehr, Reapraturversuche sind im Moment nicht mögklich, weil das CD-Laufwerk schon lange defekt ist … Ich sitze hier an einem IMac und warte auf bessere Zeiten.
Gruß, Rainer
Hallo Alex,
ich möchte es so wie im IE haben. Anzeige von etwa 5 bis zehn Eingaben, auf Anforderung (Klick auf Pfeil). Das ganze beim Verlassen des Programms speichern (in Registry).
Habe mal mit einer Listbox angefangen, bin aber nicht böse, wenn jemand dafür eine OCX schreibt. Dafür reichen meine VB Kenntnisse nicht.
Gruß
Gunter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
OT Historie speichern in VB
Hallo Alex,
mal eine Zwischenfrage eines VB-Unkundigen, du sagst Historie in einer .txt o.ä. zu speichern wäre nicht gut, besser in der Registry.
Gut, aber warum genau? Schnelligkeit ist klar, gibt es sonst noch Gründe?
Und wegen der Weitergabe einer mit VB erstellten Exe, gibt es da Möglichkeiten die Historie in der Exe mitzugeben.
So als Laie stelle ich mir das so vor, du legst in der Exe eine Variable/Const Dummy an, in der wird die Historie geparkt, beim Start bzw. wenn die TextBox/ComboBox geöffnet wird sie ausgelesen und die Daten sind verfügbar.
D.h. keine Textdatei in der die Daten stehen, auch nicht in der Registry, sondern sie stehen in der exe selbst.
Geht das überhaupt. Und wenn ja, was spricht dafür oder dagegen, daß so zu tun?
Frostern
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Gunther,
warum eine Listbox? Dann vielleicht noch ein oder ausblenden bei Bedarf? Dann noch ein Button mit einem Pfeil der dir die Liste sichtbar macht? Aber so machst du dir das Leben nur schwer
Das alles bietet Dir die Combobox!
ich möchte es so wie im IE haben. Anzeige von etwa 5 bis zehn
Eingaben, auf Anforderung (Klick auf Pfeil). Das ganze beim
Verlassen des Programms speichern (in Registry).
Ja ok, nur gehen wir mal von aus.
Es stehen 10 Eintraege drinnen!
5 Davon beginnen mit A und die anderen mit B
Nun wird ein A eingegeben, dann erscheinen alle Eintraege die mit B beginnen! Klickt man auf dem Pfeil, so werden alle! Eintraege angezeigt! Gibt man ein C ein so wird nichts angezeigt. Sehe ich das richtig ?
Habe mal mit einer Listbox angefangen, bin aber nicht böse,
wenn jemand dafür eine OCX schreibt. Dafür reichen meine VB
Kenntnisse nicht.
Was hast du denn schon an Source zusammen?
MfG Alex
Hallo Reinhard,
mal eine Zwischenfrage eines VB-Unkundigen, du sagst Historie
in einer .txt o.ä. zu speichern wäre nicht gut, besser in der
Registry.
So Makaber es klingen mag. Aber du muesstest ansonsten vorher prüfen ob genuegend Speicherplatz vorhanden ist und ob es das File schon gibt. Auch kann das File dann durch fragmentierung zerstört werden, weshalb ich lieber zu Registry greife! Ein anderer Aspekt ist es sicher, das der Zugriff auf die Registry auch einfacher und mit weniger Code zu realisieren ist
Aber jeder hat da eine andere Meinung und wie du weisst führen viele Wege nach Rom
Und wegen der Weitergabe einer mit VB erstellten Exe, gibt es
da Möglichkeiten die Historie in der Exe mitzugeben.
Ja klar. Du kannst das File dann entweder seperat mit ausliefern oder die Daten in eine Resource packen. Aber was für ein Sinn sollte das haben? Wenn du das möchtest und da sich die History ja aendert, so koenntest du sagen wir mal 10 Adressen auch direkt im Programm Code hinterlegen
So als Laie stelle ich mir das so vor, du legst in der Exe
eine Variable/Const Dummy an, in der wird die Historie
geparkt, beim Start bzw. wenn die TextBox/ComboBox geöffnet
wird sie ausgelesen und die Daten sind verfügbar.
Richtig, sofern man die Daten im Source hinterlegt und nicht mit Resourcen arbeitet
D.h. keine Textdatei in der die Daten stehen, auch nicht in
der Registry, sondern sie stehen in der exe selbst.
Genau
Geht das überhaupt. Und wenn ja, was spricht dafür oder
dagegen, daß so zu tun?
Dagegen spricht fast garnichts, ausser „Warum willst du eine History beim ausliefern eines Programmes irgendwo hinterlegen?“
Hier stellt sich die Problematik, das wenn der User das proggi nutzt und sich Daten ansammeln für die History, er dann das progg schliesst und erneut startet das dann eben „diese“ History wieder da ist. Ähnlich wie die RecentFiles Dazu muss man sie irgendwo abspeichern!
Das wiederrum kann man in dem Falle nur in einem seperaten File oder halt der Registry machen
MfG Alex
Hallo Alex,
oh, oh, ich hab zwar keine Ahnung, aber ich muß da doch Widerworte geben
mal eine Zwischenfrage eines VB-Unkundigen, du sagst Historie
in einer .txt o.ä. zu speichern wäre nicht gut, besser in der
Registry.So Makaber es klingen mag. Aber du muesstest ansonsten vorher
prüfen ob genuegend Speicherplatz vorhanden ist und ob es das
File schon gibt. Auch kann das File dann durch fragmentierung
zerstört werden, weshalb ich lieber zu Registry greife!
Die Registry besteht aus user.dat und system.dat.
Wenn müßtest du auch bei Registry Einträgen prüfen ob da genug Platz ist um diese zu erweitern.
Und da es sich Um Dateien handelt könnten sie auch durch fragmentierung zerstört sein, wobei das Blödsinn ist, Fragmentierung zerstört keine Dateinen, sie werden zerstört durch Lesefehler der Bytes der Datei oder dadurch das in der FAT ein falscher Eintrag steht (NTFS kenne ich nicht)
Ein
anderer Aspekt ist es sicher, das der Zugriff auf die Registry
auch einfacher und mit weniger Code zu realisieren ist
Mir nicht klar warum ein Zugriff auf eine Textdatei oder auf Bytes innerhalb einer exe mehr Code braucht.
Aber jeder hat da eine andere Meinung und wie du weisst führen
viele Wege nach Rom
Jepp, aber da ich keine Ahnung habe wollte ich halt deinen Weg wissen.
Und Rom, jetzt grad wegen Ostern, hab so tolle Filme wiedergesehen, morgen zieh ich mir gleich so ne Rüstung an, schwing mein Schwert und reite gegen Rom und metzle da alles, befrei die Sklaven, stürz den Cäsar und noch so Sachen *kicher*
Frostern
Reinhard
Und wegen der Weitergabe einer mit VB erstellten Exe, gibt es
da Möglichkeiten die Historie in der Exe mitzugeben.Ja klar. Du kannst das File dann entweder seperat mit
ausliefern oder die Daten in eine Resource packen. Aber was
für ein Sinn sollte das haben? Wenn du das möchtest und da
sich die History ja aendert, so koenntest du sagen wir mal 10
Adressen auch direkt im Programm Code hinterlegenSo als Laie stelle ich mir das so vor, du legst in der Exe
eine Variable/Const Dummy an, in der wird die Historie
geparkt, beim Start bzw. wenn die TextBox/ComboBox geöffnet
wird sie ausgelesen und die Daten sind verfügbar.Richtig, sofern man die Daten im Source hinterlegt und nicht
mit Resourcen arbeitetD.h. keine Textdatei in der die Daten stehen, auch nicht in
der Registry, sondern sie stehen in der exe selbst.Genau
Geht das überhaupt. Und wenn ja, was spricht dafür oder
dagegen, daß so zu tun?Dagegen spricht fast garnichts, ausser „Warum willst du eine
History beim ausliefern eines Programmes irgendwo
hinterlegen?“
Hier stellt sich die Problematik, das wenn der User das proggi
nutzt und sich Daten ansammeln für die History, er dann das
progg schliesst und erneut startet das dann eben „diese“
History wieder da ist. Ähnlich wie die RecentFilesDazu
muss man sie irgendwo abspeichern!
Das wiederrum kann man in dem Falle nur in einem seperaten
File oder halt der Registry machenMfG Alex
Mein Schleppi bootet nicht mehr, Reapraturversuche sind im
Moment nicht mögklich, weil das CD-Laufwerk schon lange defekt
ist … Ich sitze hier an einem IMac und warte auf bessere
Zeiten.
Hallo Rainer,
Tut mir leid was dir geschah
Ostern war irgendwie Hardwarmäßig nicht so toll, mein Bildschirm hat sich verabschiedet, zum Glück hatte ich noch einen zweiten.
Aber ich bin neugierig, dein VB läuft auf dem iMAC nicht!?
D.h. für mich ich muß die Frage stellen, gibt es VB das auf einem Mac läuft?
Oder andersrum, wenn du VB-Code entwickelst, wie stellst du sicher daß der Code auch läuft wenn das BS nicht Windows ist?
Frostern
Reinhard
Hallo Reinhard,
Tut mir leid was dir geschah
danke!
Ostern war irgendwie Hardwarmäßig nicht so toll, mein
Bildschirm hat sich verabschiedet, zum Glück hatte ich noch
einen zweiten.
Das ist auch nicht gerade ein Grund zum Feiern.
Aber ich bin neugierig, dein VB läuft auf dem iMAC nicht!?
Nein. MacOSX setzt auf Unix auf …
D.h. für mich ich muß die Frage stellen, gibt es VB das auf
einem Mac läuft?
Nein.
Oder andersrum, wenn du VB-Code entwickelst, wie stellst du
sicher daß der Code auch läuft wenn das BS nicht Windows ist?
Gar nicht. Ich entwickle keine VB-Code.
OK, gleich bin ich im Büro und da gibt es ja Pausen …
… und auch VB6. Aber privat, wenn ich Zeit habe geht bis auf Weiteres nichts.
Gruß, Rainer
Hallo Alex,
werde mich mal mit der Combobox beschäftigen.
Gruß
Gunter
Hallo Gunther,
warum eine Listbox? Dann vielleicht noch ein oder ausblenden
bei Bedarf? Dann noch ein Button mit einem Pfeil der dir die
Liste sichtbar macht? Aber so machst du dir das Leben nur
schwerDas alles bietet Dir die Combobox!
Hallo Alex,
das mit der Combobox funktioniert bestens.
Alles läuft wie gewünscht inklusive lesen und schreiben in die Registry.
Ich weiss bloß nicht so recht was der beste Schlüssel für die Registry ist. Benutze jetzt:
With Combo1
For n = 0 To Combo1.ListCount - 1
Eingabe = .List(n)
SaveSetting App.Title, „Content“, „Combo1_“ & n, Eingabe
Next n
Gruß
Gunter
Hallo Gunther,
warum eine Listbox? Dann vielleicht noch ein oder ausblenden
bei Bedarf? Dann noch ein Button mit einem Pfeil der dir die
Liste sichtbar macht? Aber so machst du dir das Leben nur
schwerDas alles bietet Dir die Combobox!
Hallo Gunter,
das mit der Combobox funktioniert bestens.
Alles läuft wie gewünscht inklusive lesen und schreiben in die
Registry.
Ich weiss bloß nicht so recht was der beste Schlüssel für die
Registry ist. Benutze jetzt:With Combo1
For n = 0 To Combo1.ListCount - 1
Eingabe = .List(n)
SaveSetting App.Title, „Content“, „Combo1_“ & n, Eingabe
Next nGruß
Gunter
Na das ist doch schon einmal ein Anfang Dennoch würde ich wenn das so nicht lassen! Denn gehen wir mal von aus. In der Combobox wird En eingegeben. In der History stehen 10 Eintraege! 1 Davon beginnt mit EN dann würde dieser nur angezeigt werden, was auch erwuenscht ist. Aber beendet man dann das proggi, so wird nur dieser 1 Eintrag gespeichert!
Ich hatte mich gestern mal hingesetzt und kurz was angefangen zu tippeln. Eigentlich fehlt nur noch eine Kleinigkeit dazu. Mal sehen, wenn ich es schaffe dann mache ich das heute mal fertig und poste dir den Source und die Anleitung zum Bau dazu. Schaue dir das dann mal an und gebe mal eine Info was dann daran noch anderes gemacht werden soll
MfG Alex
PS: Das mit dem speichern in der registry ist soweit OK! Warum willst du einen anderen Pfad vorgeben?
Hallo Reinhard,
oh, oh, ich hab zwar keine Ahnung, aber ich muß da doch
Widerworte geben
Na dann bin ich mal gespannt
Die Registry besteht aus user.dat und system.dat.
Wenn müßtest du auch bei Registry Einträgen prüfen ob da genug
Platz ist um diese zu erweitern.
Das ist richtig. Dennoch werden diese beiden Daten von Windows verwaltet. Legst du ein File an, so musst du dich selber darum kuemmern Also warum die Arbeit nicht das OS machen lassen ?
Und da es sich Um Dateien handelt könnten sie auch durch
fragmentierung zerstört sein, wobei das Blödsinn ist,
Fragmentierung zerstört keine Dateinen, sie werden zerstört
durch Lesefehler der Bytes der Datei oder dadurch das in der
FAT ein falscher Eintrag steht (NTFS kenne ich nicht)
Ja ok, da habe ich mich etwas umstaendlich ausgedrueckt. Aber vom Prinzip her meinte ich das selbe!
Ein
anderer Aspekt ist es sicher, das der Zugriff auf die Registry
auch einfacher und mit weniger Code zu realisieren istMir nicht klar warum ein Zugriff auf eine Textdatei oder auf
Bytes innerhalb einer exe mehr Code braucht.
Unter VB, alle Daten unter dem Schluessel X auszulesen, bedarf es genau eine Zeile! (GetallSettings)
Hast du ein File sind es ein paar mehr
Aber jeder hat da eine andere Meinung und wie du weisst führen
viele Wege nach RomJepp, aber da ich keine Ahnung habe wollte ich halt deinen Weg
wissen.
Naja den kennst du ja nun
MfG Alex