Gambas-it

Gambas3 => Programmazione => Topic aperto da: Karl - 12 Febbraio 2019, 21:30:27

Titolo: [Risolto]Files
Inserito da: Karl - 12 Febbraio 2019, 21:30:27
Salve amici, mi sono messo a programmare un notepad ma mi sto' accorgendo di essere ancora molto ignorante della sintassi di gambas.
Benche' abbia cercato e anche trovato in rete esempi e articoli non riesco a venirne a capo,  potreste aiutarmi ?
Vorrei scrivere e leggere e   quindi aprire e salvare file da una textarea.
Scusate l'ardire ma l'ignoranza mi da il coraggio di chiedere.
Ciao e grazie
Titolo: Re:Files
Inserito da: Top Fuel - 12 Febbraio 2019, 22:47:06
Cioè intendi prendere del testo da un file e metterlo in una textarea e viceversa?
Titolo: Re:Files
Inserito da: vuott - 12 Febbraio 2019, 22:56:12
...mi pare chiaro.
Titolo: Re:Files
Inserito da: vuott - 12 Febbraio 2019, 23:55:15
Per Karl:

per leggere e per scrivere il testo (ossia byte di valori ASCII corrispondenti a caratteri alfanumerici e altri simboli - come la punteggiatura - utilizzati in un testo, l'ultimo dei quali è - appunto nel caso di un testo - sempre il valore esadecimale &h0A, che in linguaggio C è 0x0A) con un Oggetto "TextArea", si usa la proprietà ".Text ".
Questa proprietà in particolare:
- con la capaacità di restituire il testo mostrato dalla TextArea, consente anche di scriverlo in un file;
- con la capacità di impostare il testo nellaTextArea, consente di assegnare a tale proprietà (e dunque alla TextArea) il testo letto da un file.

In via generale in Gambas esistono, poi, almeno tre modalità per leggere dati stringa da un file e per scrivere dati stringa in un file.

La modalità più diretta e semplice per leggere un file, contenente dati stringa, è attraverso il Metodo ".Load( )" della Classe "File".
Per scrivere, invece, testo in un file, si usa il Metodo ".Save( )" della predetta Classe "File".


E' il caso di precisare che con i predetti Metodi della Classe "File", è possibile leggere e scrivere comunque qualsiasi valore byte.
Titolo: Re:Files
Inserito da: cogier - 13 Febbraio 2019, 18:12:38
Gambas ha un editor 'gb.form.editor'. Date un'occhiata alla Gambas Farm per '101010 Text editor'. L'ho scritto in sole 42 righe di codice. Spiacente, ma è in inglese.
(http://www.cogier.com/gambas/101010%20Text%20editor_021.png)
Titolo: Re:Files
Inserito da: Top Fuel - 13 Febbraio 2019, 22:50:21
Infatti nell'help di Gambas alle voci File.Load( ) e File.Save( ) ci sono 2 esempi pronti all'uso, solo da copiare. :coder:
Titolo: Re:Files
Inserito da: Karl - 14 Febbraio 2019, 12:05:45
' Gambas class file
Public Sub Button1_Click()

  Dim fl As String
  Dim indirizzo As String = TextBox1.Text
 
  fl = File.Load(indirizzo)
  TextArea1.Text = fl

End

Public Sub Form_Open()

  Me.Center()
  Message("Inserisci per favore l'indirizzo del file da aprire")
End

Public Sub Button2_Click()
 Dim fl As File
 Dim s As String = TextArea2.Text

  fl = Open TextBox1.Text For Append
  Write #fl, s

  fl.Close
End

-Avrei risolto così.......correzioni e suggerimenti  ben accetti!
Ciao
Titolo: Re:Files
Inserito da: vuott - 14 Febbraio 2019, 14:54:28
...correzioni e suggerimenti  ben accetti!

Codice: [Seleziona]
Public Sub Button1_Click()

  TextArea1.Text = File.Load(TextBox1.Text)

End
Titolo: Re:Files
Inserito da: Gianluigi - 14 Febbraio 2019, 15:10:19
Essere ottimisti è un bene ma forse, alle prime armi, tentare di riprodurre un notepad è cosa un tantinello pretenziosa.  :)
Comunque ti sottopongo alcuni suggerimenti di partenza:
In Linux ne hai uno a disposizione, lo hai studiato?
Hai guardato come fa ad aprire un nuovo file?
Come lo salva?
Avrai visto che normalmente i notepad hanno dei menu e usano delle finestre di dialogo.
Bene inizia a studiarti i menu e le finestre di dialogo di Gambas.
Poi usali per cambiare quanto hai già fatto, posta il codice e ne riparliamo.

Note:
- Qui il codice va inserito fra i tag "code" e "/code" (messi fra parentesi quadre) che puoi inserire automaticamente (dopo aver selezionato il codice) usando il pulsante col simbolo #.
-File oltre a Open possiede anche Save leggiti e prova l'esempio di File.Save.
Titolo: Re:Files
Inserito da: vuott - 14 Febbraio 2019, 16:24:17
...correzioni e suggerimenti  ben accetti!
Trattandosi di gestire stringhe di caratteri, anche per "salvare" potremmo continuare a usare la Classe "File ":  (https://banner2.kisspng.com/20180328/jrw/kisspng-emoji-thought-whatsapp-emoticon-clip-art-emoji-5abb3373749346.4368098715222178434775.jpg)
Codice: [Seleziona]
Public Sub Button2_Click()

  File.Save(TextBox1.Text, TextArea2.Text)

End