Hallo Zusammen,
vorweg, bin in der Thematik "Basic for Android" noch ganz frisch, habe bisher per VBA programmiert.
Beim Thema Datenspeicherung habe ich per VBA immer auf die Excel-Sheets zurückgegriffen und diese dann ausgeblendet, ging relativ einfach.
Hatte per VBA ein schönes Programm zum Thema ADA-Schein, man konnte Fragen per .txt Datei einfügen, Fragen manuell hinzufügen, beantworten mit/ohne Timerfunktion, ... Jetzt wollte ich das Programm fürs Handy umschreiben.
Als Datenspeicherung habe ich mich jetzt an SQL herangewagt, gibt ja auch einige Tuturials hier.
Als erstes wollte ich mein Admin-Bereich schreiben, neue Nutzer kann ich anlegen, dass klappt bereits, aber mit dem Löschen habe ich so meine Probleme und beim Auswählen in der Liste möchte ich, dass sich die Farbe ändert, klappt nicht, es passiert einfach nichts. :-(
Einfach was funktioniert ist das hier:
Das ist der Code, wie ich eine ausgewählte Lizenz löschen möchte:
Hier der Code, bei dem sich die ausgewählte Zeile in der Farbe ändern sollte:
vorweg, bin in der Thematik "Basic for Android" noch ganz frisch, habe bisher per VBA programmiert.
Beim Thema Datenspeicherung habe ich per VBA immer auf die Excel-Sheets zurückgegriffen und diese dann ausgeblendet, ging relativ einfach.
Hatte per VBA ein schönes Programm zum Thema ADA-Schein, man konnte Fragen per .txt Datei einfügen, Fragen manuell hinzufügen, beantworten mit/ohne Timerfunktion, ... Jetzt wollte ich das Programm fürs Handy umschreiben.
Als Datenspeicherung habe ich mich jetzt an SQL herangewagt, gibt ja auch einige Tuturials hier.
Als erstes wollte ich mein Admin-Bereich schreiben, neue Nutzer kann ich anlegen, dass klappt bereits, aber mit dem Löschen habe ich so meine Probleme und beim Auswählen in der Liste möchte ich, dass sich die Farbe ändert, klappt nicht, es passiert einfach nichts. :-(
Einfach was funktioniert ist das hier:
B4X:
Answ=Msgbox2("Möchten Sie die ausgewählte Lizenz '" &name99 & "' mit der dazugehörigen Mailadresse '" &mail99 & "' wirklich löschen?","Lizenz löschen","Yes","","No",Null)
Das ist der Code, wie ich eine ausgewählte Lizenz löschen möchte:
B4X:
Sub Label3_Click
Dim row, col, Answ, Index As Int
Dim i As Int
Answ=Msgbox2("Möchten Sie die ausgewählte Lizenz '" &name99 & "' mit der dazugehörigen Mailadresse '" &mail99 & "' wirklich löschen?","Lizenz löschen","Yes","","No",Null)
If Answ=DialogResponse.POSITIVE Then
Do While SelectedItems.Size> 0
row=SelectedItems.Get(0)
For col=0 To NumberOfColumns - 1
GetView(row, col).Color = CellColor(col)
Next
List_Delete(row, 0)
For i=0 To SelectedItems.Size-1
Index=SelectedItems.Get(i)
If Index>row Then
SelectedItems.Set(i,Index-1)
End If
Next
SelectedItems.RemoveAt(0)
Loop
End If
SQLReadTable
NumberOfVisibleRows=scvList.Height/RowHeight
End Sub
B4X:
Sub List_Delete(Row As Int, Col As Int)
Dim i, j, Answ As Int
Dim txt As String
Main.SQL1.ExecNonQuery("DELETE FROM table1 WHERE table1.Code = " & GetView(Row,0).Text)
NumberOfRows=NumberOfRows-1
If NumberOfRows>0 Then
Table.Height = NumberOfRows * RowHeight
Else
Table.Height = RowHeight
End If
End Sub
B4X:
Sub GetView(Row As Int, Col As Int) As Label
Dim l As Label
l = Table.GetView(Row * NumberOfColumns + Col)
Return l
End Sub
Hier der Code, bei dem sich die ausgewählte Zeile in der Farbe ändern sollte:
B4X:
Sub SelectRow(Row As Int, SelCol As Int, Mode As Int)
Dim col, index As Int
index=SelectedItems.IndexOf(Row)
GetView(Row, col).Color = Colors.Green
If index>-1 Then ' row already selected
For col = 0 To NumberOfColumns - 1
GetView(Row, col).Color = CellColor(col)
Next
SelectedItems.RemoveAt(index)
If SelectedItems.Size=1 Then
Row=SelectedItems.Get(0)
End If
Else
If Mode=0 Then
SelectedItems.Add(Row)
Else If Mode=2 Then
For col = 0 To NumberOfColumns - 1
GetView(PreviousRow, col).Color = CellColor(col)
Next
End If
For col = 0 To NumberOfColumns - 1
GetView(Row, col).Color = SelectedRowColor
Next
End If
If Mode=1 Then
For col = 0 To NumberOfColumns - 1
GetView(PreviousRow, col).Color = CellColor(col)
GetView(Row, col).Color = SelectedRowColor
Next
End If
If SelectedItems.Size=0 Then
Else If SelectedItems.Size=1 Then
SelectedItems.Set(0,Row)
name99=GetView(SelectedItems.Get(0), 0).Text
mail99=GetView(SelectedItems.Get(0), 1).Text
PreviousRow=Row
Else
End If
End Sub