Hallo TroaX,
Falls es dich interessiert, ich habe mir nun eine App mit B4A dazu gemacht.
War mit wenigen Zeilen Code, im Designer ein Eingabefeld und ein Listview,
schnell gemacht.
Das ganze habe ich mit einer MAP und wie Kiffi schon vorgeschlagen hatte
Key$ = MitarbeiterNummer$ + "|" + Heute$ gemacht. Zusätzlich wird auch
noch in eine .csv Datei geschrieben.
Zuerst habe ich mit B4J getestet und es dann fast 1 : 1 übernommen.
Da mußten eigentlich nur Die Pfade geändert werden und das Eingabefeld
heißt anders.
B4A :
Code: Alles auswählen
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Private xui As XUI
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
Private Button1 As Button
Private Button2 As Button
Private EditText1 As EditText
Dim Listview1 As ListView
Dim TextWriter1 As TextWriter
Dim Datei1 As String
Dim Datei2 As String
Dim Datum As String
Dim zeile As String
Dim MA As String
Dim found As Int
Dim Personal As Map
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("layout")
Personal.Initialize
InitListview
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Button1_Click
Activity.Finish
End Sub
Private Sub Button2_Click
End Sub
Private Sub ListView1_ItemClick (Position As Int, Value As Object)
End Sub
Private Sub EditText1_EnterPressed
MA = EditText1.Text
found = 0
DateTime.Dateformat = "dd.MM.yyyy"
Datum = DateTime.Date(DateTime.Now)
DateTime.DateFormat = "MM_yyyy"
Datei1 = DateTime.Date(DateTime.Now) & ".txt"
Datei2 = DateTime.Date(DateTime.Now) & ".csv"
TextWriter1.Initialize(File.OpenOutput(File.DirInternal, Datei2, True))
If File.Exists(File.DirInternal, Datei1) = True Then
File.ReadMap(File.DirInternal, Datei1)
If Personal.ContainsKey(MA & "|" & Datum) Then
found = 1
End If
End If
If found = 1 Then
ToastMessageShow("Mitarbeiter und Datum schon vorhanden ! ", False)
Else
Personal.Put(MA & "|" & Datum, Datum)
Listview1.AddSingleLine(MA & "," & Datum)
TextWriter1.WriteLine(MA & "," & Datum)
TextWriter1.Close
End If
File.WriteMap(File.DirInternal, Datei1, Personal)
EditText1.Text = ""
EditText1.RequestFocus
End Sub
Sub InitListview
DateTime.DateFormat = "MM_yyyy"
Datei1 = DateTime.Date(DateTime.Now) & ".txt"
If File.Exists(File.DirInternal, Datei1) Then
Personal = File.ReadMap(File.DirInternal, Datei1)
For Each MA As String In Personal.Keys
Dim MN As String = Personal.Get(MA)
zeile = MA.SubString2(0, MA.IndexOf("|")) & "," & MN
Listview1.AddSingleLine(zeile)
Next
End If
End Sub
Das könnte man auch leicht umbauen für EAN13 - Nummern. Der Wert von Key ist ja eigentlich frei und
so für Artikelname + Preis verfügbar. Mit dem Scanner vom Handy kann man ja in die Zwischenablage
kopieren und im Editfeld wieder einfügen.