TextArea

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
Alex
Foriker
Beiträge: 3
Registriert: Sa 3. Mär 2012, 18:24
Kontaktdaten:

TextArea

Beitrag von Alex » Sa 3. Mär 2012, 23:01

Hi,
ich möchte eine oder mehrere Markierte Zeilen aus einem TextArea auslesen, um die Zeile zu veränder und anschließend dieße in TextArea wieder auszugeben.
Mit der Anweisung "i = TextArea1.Selection" das funktioniert leiter nicht.

Wie kann ich die Markierte Zeilen auslesen ?

tux_
Moderator
Beiträge: 950
Registriert: Di 11. Nov 2008, 20:05
Kontaktdaten:

Re: TextArea

Beitrag von tux_ » Mo 5. Mär 2012, 07:55

Hi,

TextArea.Selection ist nur ein virtuelles Objekt vom Typ .TextAreaSelection (http://gambasdoc.org/help/comp/gb.qt/textarea/selection). TextArea.Selection.Text wäre der gewünschte Text.
Nach der Veränderung des Textes findest du in TextArea.Selection auch weitere Informationen über Position und Länge des, in der TextArea ausgewählten, Textes, die du mit der Mid$()-Funktion verwenden kannst, um den veränderten Text wieder in die Area hineinzuschreiben.

MfG,
tux_
Achtung: Es passiert, dass ich einen frisch geschrieben Beitrag innerhalb von 10 Minuten noch 3-4 Mal aendere!

Alex
Foriker
Beiträge: 3
Registriert: Sa 3. Mär 2012, 18:24
Kontaktdaten:

Re: TextArea

Beitrag von Alex » Mo 5. Mär 2012, 18:16

Hi, tux_,
Vielen Danke, das funktioniert. :D

M.f.G
Alex

Benutzeravatar
Honsek
Foriker
Beiträge: 419
Registriert: Do 4. Okt 2007, 17:01
Kontaktdaten:

Re: TextArea

Beitrag von Honsek » Mo 5. Mär 2012, 19:10

Guten Tag Alex,

ich habe als Antwort auf Deine Anfragen und den Kommentar von tux_ mal ein klitzekleines Projekt beigelegt. Dann dürften sich Deine Fragen schnell beantworten:
Hier der Quelltext mit den 2 wesentlichen Prozeduren:

Code: Alles auswählen

' Gambas class file

PRIVATE bChange AS Boolean

PUBLIC SUB Form_Open()
  FMain.Center
  FMain.Border = 1
  bChange = FALSE
END ' Form_Open()

PUBLIC SUB btnCopy_Click()
  IF TextArea1.Selected THEN 
     TextBox1.Text = TextArea1.Selection.Text
  ENDIF 
END ' btnCopy_Click()

PUBLIC SUB btnErsetzen_Click()
  TextArea1.Selection.Text = Replace(TextArea1.Selection.Text, TextBox1.Text, TextBox2.Text)
  bChange = TRUE
END ' btnErsetzen_Click()

PUBLIC SUB btnClose_Click()
  FMain.Close
END ' btnClose_Click()

PUBLIC SUB Form_Close()
  DIM iIndex AS Integer
 
  IF bChange = TRUE THEN 
    Message.Question("Wollen Sie den geänderten Text speichern?", "Ja", "Nein")
    IF iIndex = 0 THEN ' Damit wird man von der eingestellten Sprache unabhängig!
       File.Save(User.Home &/ "mustertext.txt", TextArea1.Text)
    ENDIF ' IF iIndex = 1 
  ENDIF ' IF Change 
END ' Form_Close()
Du musst den Text - der ersetzt werden soll - markieren, um das Ersetzen anzuschieben.

Mit freundlichem Gruß

Honsek
p1.tar.gz
Beispiel-Programm
(12.76 KiB) 210-mal heruntergeladen
Zuletzt geändert von Honsek am Di 6. Mär 2012, 08:09, insgesamt 1-mal geändert.
Honsek (https://www.gambas-buch.de)
---> Wenn Du eine gute Antwort erwartest, musst Du sehr gut fragen!

Alex
Foriker
Beiträge: 3
Registriert: Sa 3. Mär 2012, 18:24
Kontaktdaten:

Re: TextArea

Beitrag von Alex » Di 6. Mär 2012, 07:14

Hi Honsek,
auch dir Vilen Dank, ich Programmiere gerade eine IDE für die Bash mit Syntax verfolständigung usw. da werde ich das auch gebrauchen können.

Nochmal vielen Dank. :D

M. f. G.
Alex

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste