Italian Consigli su database

Xfood

Expert
Licensed User
Prova ad aggiungere un tim alle variabili
Da
If line.ToUpperCase.Contains(EditText1.Text.ToUpperCase) Or line.ToUpperCase.startswith(EditText1.Text.ToUpperCase)

A
If line.trim.ToUpperCase.Contains(EditText1.Text.trim.ToUpperCase) Or line.trim.ToUpperCase.startswith(EditText1.Text.trim.ToUpperCase) Then
 

Mattiaf

Active Member
Licensed User
Prova ad aggiungere un tim alle variabili
Da
If line.ToUpperCase.Contains(EditText1.Text.ToUpperCase) Or line.ToUpperCase.startswith(EditText1.Text.ToUpperCase)

A
If line.trim.ToUpperCase.Contains(EditText1.Text.trim.ToUpperCase) Or line.trim.ToUpperCase.startswith(EditText1.Text.trim.ToUpperCase) Then
non ha risolto....
input "Martini"
Output
B4X:
Martini besta
Martini
Martini Via Cesare Cabras
Alberti Via colombo
Alberti Via gramsci
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini besta
Martini
Martini Via Cesare Cabras
Alberti Via colombo
Alberti Via gramsci
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini besta
Martini
Martini Via Cesare Cabras
Alberti Via colombo
Alberti Via gramsci
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
Martini besta
Martini
Martini Via Cesare Cabras
 

Mattiaf

Active Member
Licensed User
Codice completo se lo vuoi provare
B4X:
#Region Shared Files
#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
#End Region

'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip

Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
    Private EditText1 As EditText
    Dim a As String
    Private EditText2 As EditText
    Private Button2 As Button
    Private EditText3 As EditText
End Sub

Public Sub Initialize
'    B4XPages.GetManager.LogEvents = True
End Sub

'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
    If File.exists(File.DirInternal, "chiavi.txt" ) Then
        a = File.ReadString(File.DirInternal, "chiavi.txt")
        EditText3.Text= a
        'EditText2.Text=a
        Else
        File.WriteString(File.DirInternal, "chiavi.txt","")
    End If
End Sub

'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.

Private Sub Button1_Click

    File.WriteString(File.DirInternal, "chiavi.txt", a & CRLF & EditText1.text)
    Sleep(200)
    a = File.Readstring(File.DirInternal, "chiavi.txt")
EditText3.Text=a
Log(a)
End Sub

Private Sub EditText1_TextChanged (Old As String, New As String)
    For Each line As String In File.Readlist(File.DirInternal,"chiavi.txt")
        If line.trim.ToUpperCase.Contains(EditText1.Text.trim.ToUpperCase) Or line.trim.ToUpperCase.startswith(EditText1.Text.trim.ToUpperCase) Then
            
            EditText2.Text= EditText2.Text & CRLF & line
            Log(EditText2.Text)
        End If
    Next
    If EditText1.Text="".Trim Then
        EditText2.Text="".Trim
    End If
End Sub

Private Sub Button2_Click
    File.WriteString(File.DirInternal, "chiavi.txt", "")
End Sub

Record completi
Martini besta
Martini
Scano
Martini Via Cesare Cabras
Alberti Via colombo
Alberti Via gramsci


Grazie mille :)
 

Mattiaf

Active Member
Licensed User
Perfetto! Vi voglio bene ragazzi! A volte, un txt vale più di 1000 db :rolleyes:😂
Grazie tante a tutti, buona domenica :)))
 

LucaMs

Expert
Licensed User
Longtime User
Mattia, ho letto solo il titolo della tua ultima domanda-thread, alla quale suppongo non ti daranno una risposta sufficiente (rilevare il testo "tappato" su una EditText multilinea.)

Voglio solo scrivere qui che, se avessi usato una tabella SQLite e una CustomListView, malgrado il tempo che forse ti sarebbe servito per l'apprendimento, avresti fatto molto prima e molto meglio. Anche perché ti avremmo dato una mano, come abbiamo fatto anche col metodo che stai usando.

Cmq, fai ancora in tempo a sostituire quella EditText con una CustomListView o una ListView.
 

Mattiaf

Active Member
Licensed User
eh mio Caro Luca se avessi ascoltato a voi quante cose avrei fatto meglio....
ma io sono un mulo testardo... studiare l sql mi richiederebbe troppo tempo al momento e ultimamente ho dovuto studiare tantissimo per passare il dm 154 ( che ho passato ieri !!), percui mi ritrovo con qualcosa che sulla carta funziona, ma che farebbe rabbrividire i sorci..
va bene, provo ad usare una custom list view o una listview anche se ci avevo gia provato in precedenza e non ricordo per quale motivo, non ero riuscito nel mio intendo, ovvero elaborare le stesse cose che sto facendo nella EditText anche con quei controlli..
Grazie Luca sei gentilissimo, ti meriteresti 1 milione di € e un ciobar al cioccolato bianco
 

LucaMs

Expert
Licensed User
Longtime User
"A naso", credo che a te non serva consentire all'utente di modificare il testo in quella EditText multilinea, ovvero ci carichi del testo da codice e basta; sbaglio?
Fammi sapere, perché se fosse così, avrei già preparato una cosetta che potrebbe esserti utile.
 

LucaMs

Expert
Licensed User
Longtime User
"A naso", credo che a te non serva consentire all'utente di modificare il testo in quella EditText multilinea, ovvero ci carichi del testo da codice e basta; sbaglio?
Fammi sapere, perché se fosse così, avrei già preparato una cosetta che potrebbe esserti utile.
Ecco, dovrò ripetere la stessa cosa nel forum "internazionale" 😁
 

Mattiaf

Active Member
Licensed User
"A naso", credo che a te non serva consentire all'utente di modificare il testo in quella EditText multilinea, ovvero ci carichi del testo da codice e basta; sbaglio?
Fammi sapere, perché se fosse così, avrei già preparato una cosetta che potrebbe esserti utile.
in questo caso l utente nn deve modificare la linea.. ti spiego..
se cerco per "Giua" mi trova due chiavi ( quindi due risultati ).
Per aprirlo su maps ( ho creato un bottone per questo ) peró sono costretto a restringere ad un risultato, dunque devo per forza scrivere "Giua, via x" .. che palle direi.. dunque vorrei poter selezionare la strings di pertinenza ( senza restringere i risultati ad 1)e aprirla su maps..
cmq tra 5 minuti ti allego l app completa:)
 
Top