Gambas: Wünsche und Anregungen

Aus Wikibooks



Wenn Sie eine Programmidee oder einen Programmwunsch haben, denn Sie selbst nicht in Gambas realisieren können, weil Sie keine Zeit oder nicht genügend Gambas Know How haben, dann schreiben Sie es hier her.

Vielleicht findet sich ja jemand , der das Ganze realisiert.

Abbildung: Der kleine g und der große G

Irgendwie fühlte sich der kleine g bei seiner Arbeit ständig beobachtet.

Ich würde gern einen Index erstellen.[Bearbeiten]

Wie kann ich dies realisieren?

Was soll der Index indizieren ? Eine Datenbank ? Etwas genauere Informationen sind notwendig um hier zu helfen.

-Der Index soll ebenso wie die Gambas Hilfe ein Tutorial in einem Hilfefenster anzeigen.

Unter http://de.wikibooks.org/wiki/Gambas:_Html steht ein Gambas Html Browser. Wenn man die Hilfeseiten als HTML Seiten erstellt, kann man ihn schön als Hilfetutorial nutzen.

Zeilen oder Zeichenkette aus Datei ausschneiden[Bearbeiten]

Ich lese eine ganze Datei mit READ ein und suche später nach einen bestimmten String. Bei dessen auftreten lese ich die ganze Zeile ein. Nun möchte ich diese Zeile löschen und die nachfolgende an die vorherige Zeile anfügen, sodaß meine Datei nicht unnötig groß wird. Läßt sich dies mit den derzeitigen Befehlscode bewerkstelligen? Ich finde auch keinen Befehl mit dem ich eine bestimmte Zeile ansprechen kann, um an diese noch einen Zeichenstring anzuhängen.

Rho: Ich fange einmal an das Problem zu zerlegen. Als erstes habe ich den READ Befehl genauer beschrieben.

Siehe http://de.wikibooks.org/wiki/Gambas:_Datei#Daten_einlesen_mit_READ

Zur weiteren Lösung des Problems müßte es aber etwas konkreter beschrieben werden. Ein Beispiel wäre hilfreich.


Benötigt werden: CommandButton, TextArea und ID.txt-File.

Als Bsp folgendes Programm:


 i AS Integer
 ii AS Integer
 hfile AS File
PUBLIC SUB Form_Open()
OPEN "ID.txt" FOR READ AS #hFile
 READ #hFile,tar1.Text,Lof(hFile)                        
END
PUBLIC SUB cmd1_Click()
  i = Instr(tar1.Text, "A")
  IF i > 0 THEN
  ii = Instr(tar1.Text, "\n",i)
  IF ii > 0 THEN 
    tar1.Text = Mid(tar1.Text,i,ii-i)
  ENDIF
 ENDIF
END


In "ID.txt" stehen mehrere Zeichenstrings mit je nachfolgendem CR. Nun möchte ich einen davon ausschneiden. Jedoch den geänderten Text nicht in einer TextArea ablegen, sondern wieder in ID.txt abspeichern. Fehlermeldung bei öffnen der File mit CREATE oder WRITE kommt ein "Access Forbitten". Zugriffsrechte der File wurden aber auf "all" gesetzt. Gibt es Befehle die dies vereinfachen, oder besser gesagt an benötigte Zeile springen diese ausschneiden und nachfolgende Zeile hochrücken?


Weiteres Beispiel wäre:
ListBox, CommandButton

txt as String
PUBLIC SUB cmd1_Click()
 txt = libx1[0].Text
 libx1.Remove(0)
END
PUBLIC SUB Form_Open()
  libx1.Add("aaaaa\n")
  libx1.Add("bbbbb\n")
  libx1.Add("aaaaa\n")
  libx1.Add("bbbbb\n")
  libx1.Add("aaaaa\n")
END


Dies scheint mir die Beste Möglichkeit zu sein, jedoch erhebt sich die Frage welche Methode die geringste Bearbeitungszeit benötigt oder das Programm verlangsamt sollte die ListBox auch noch angezeigt werden. Die Liste könnte dabei sogar bis über 100 Einträge beinhalten.