Ersatzteildatenbank

Anfängerfragen zum Programmieren mit PureBasic.
bmertke
Beiträge: 4
Registriert: 26.01.2008 13:25

Ersatzteildatenbank

Beitrag von bmertke »

Ich bin ein Anfänger von Purebasic.
Mit einer Vorlage von TS-Soft habe ich es geschafft meine Stammdaten für eine Ersatzteildatenbank zu pflegen.
Jetzt komme ich aber nicht weiter.

1. Das DatGadet wird einfach nicht als String mit dem ausgewählten Datum übernommen.
2. Wie kann ich die Lieferscheinnummer eingeben.

Im ListViewGadget wollte ich dann die Artikelnummer eingeben (Bezeichnung aus den Stammdaten holen) und den die Stückzahl.
In die Datenbank soll dann bei Artikelbewegung in jeden Datensatz das Datum, Lieferscheinnummer, Artikelnummer, Anzahl Eingang geschrieben werden.

Vielleicht kann jemand bei den einen oder anderen Punkt eine Hilfe geben.

Gruß Burkhard

Ich benutze Version 5.1 (x64) unter Windows7 (Registriert)


Programm Stammdatenpflege: (Funktioniert)

Code: Alles auswählen

; *******************************************************************************
; ******************                                         ********************
; ******************  Vielen Dank für die sehr Gute Vorlage  ********************
; ******************     der Musterdatenbank an  ts-soft     ********************
; ******************                                         ********************
; *******************************************************************************






EnableExplicit

UseSQLiteDatabase()

#DatenDB = 0
#frm_Main = 0

Enumeration ; Gadgets
  #gad_Panel
  #gad_ListStammdaten
  #gad_Container
  ;#gad_strName
  ;#gad_strVorname
  ;#gad_strStrasse
  ;#gad_strPLZ
  ;#gad_strOrt
  ;#gad_strTelefon
  #gad_btnHinzufuegen
  #gad_btnAendern
  #gad_btnLoeschen
  #gad_btnSortieren
  
  
  ; ******************************** eigene Felder ********************
  #gad_strDatum
  #gad_strLieferscheinnummer
  #gad_strArtikelnummer
  #gad_strBezeichnung
  #gad_strAB_Nummer
  #gad_strJob_Nummer
  #gad_strBestand
  #gad_strEingang
  #gad_strAusgang
  ; ******************************** Ende eigene Felder ***************
  
  
EndEnumeration

Declare CreateFormMain()
Declare DatenSatzHinzufuegen()
Declare DatenSatzAendern()
Declare DatenSatzLoeschen()
Declare ListFuellen()
Define Ergebnis = 0
Define db_name.s = "Daten.db"
db_name.s = "Daten.db"
                
Define SQL.s

; Wir überprüfen ob die DB bereits existiert, wenn nicht, wird eine leere DB erstellt.
If FileSize(db_name) <= 0
  If CreateFile(0, db_name)
    CloseFile(0)
    
    
    If OpenDatabase(#DatenDB, db_name, "", "")
      
      ; Wir erstellen die Tabelle stammdaten, hierfür ist die SQL-Anweisung:
      ; "CREATE TABLE name_der_tabelle (feldname [typ], feldname [typ], ...)" verantwortlich
      ; Der Typ des Feldes ist bei SQLite meist optional, deshalb werden wir diesen auch meist weglassen.
      ; Ausnahme von dieser Regel ist ein eindeutiger Identifier und ein Blob. Dieser ist immer vom Typ INTEGER, bzw. BLOB
      ; Syntax für ID-Feld: feldname INTEGER PRIMARY KEY AUTOINCREMENT
      ; Es empfiehlt sich die SQL-Anweisung auf mehrere Zeilen aufzuteilen.
      SQL = "CREATE TABLE stammdaten (id INTEGER PRIMARY KEY AUTOINCREMENT,"
      SQL + " artikelnummer CHAR(14), bezeichnung CHAR(50), fotodata BLOB, fotosize INTEGER)"
      
      
      ; Wenn wir kein Ergebnis benötigen, verwenden wir: DatabaseUpdate(id, SQL-Anweisung),
      ; ansonsten DatabaseQuery(id, SQL-Anweisung) was wir später noch sehen werden.
      
      If DatabaseUpdate(#DatenDB, SQL) = #False
        Debug DatabaseError()
        End
      EndIf
        
        
        ; *********************** Tabelle Artikelbewegung einfügen ******************************
        
      SQL = "CREATE TABLE artikelbewegung (id INTEGER PRIMARY KEY AUTOINCREMENT,"
      SQL + " datum DATE, lieferscheinnummer INTEGER, artikelnummer CHAR(14), abnummer INTEGER, jobnummer INTEGER, eingang INTEGER, ausgang INTEGER)"
        
      If DatabaseUpdate(#DatenDB, SQL) = #False
        Debug DatabaseError()
        End
      EndIf
      
 
        ; *********************** Ende Tabelle Artikelbewegung einfügen *************************
        
 
    Else
      Debug DatabaseError()
      End
    EndIf
  Else
    Debug db_name + " konnte nicht erstellt werden."
    End
  EndIf
  
  Else ; Datenbank existiert bereits und wird geöffnet.
  If OpenDatabase(#DatenDB, db_name, "", "") = #False
    Debug DatabaseError()
    End
  EndIf
EndIf
  
  
 

 ; Sicherung der Datenbank erstellen
     
      Ergebnis = CopyFile("Daten.db", "Datenold.db")
      ;Debug ergebnis
      If Ergebnis = 0
       MessageRequester("Fehler", "Daten.db" + " konnte nicht gesichert werden!")
      EndIf 


CreateFormMain()

Define i

; Jetzt wird unser ListIconGadget mit Daten gefüllt
ListFuellen()

; Hier beginnt unser MainLoop.
Repeat
  Select WaitWindowEvent()
 
    Case #PB_Event_CloseWindow
      CloseDatabase(#DatenDB)
      Break
     
    Case #PB_Event_Gadget
      Select EventGadget()

        Case #gad_ListStammdaten
          Select EventType()
            Case #PB_EventType_Change
              i = GetGadgetState(#gad_ListStammdaten)
              If i > -1
                SetGadgetText(#gad_strArtikelnummer, GetGadgetItemText(#gad_ListStammdaten, i, 1))
                SetGadgetText(#gad_strBezeichnung, GetGadgetItemText(#gad_ListStammdaten, i, 2))
               ; SetGadgetText(#gad_strBestand, GetGadgetItemText(#gad_ListStammdaten, i, 3))
               ; SetGadgetText(#gad_strPLZ, GetGadgetItemText(#gad_ListStammdaten, i, 4))
               ; SetGadgetText(#gad_strOrt, GetGadgetItemText(#gad_ListStammdaten, i, 5))
               ; SetGadgetText(#gad_strTelefon, GetGadgetItemText(#gad_ListStammdaten, i, 6))
              Else
                SetGadgetText(#gad_strArtikelnummer, "")
                SetGadgetText(#gad_strBezeichnung, "")
                ;SetGadgetText(#gad_strBestand, "")
                ;SetGadgetText(#gad_strPLZ, "")
                ;SetGadgetText(#gad_strOrt, "")
                ;SetGadgetText(#gad_strTelefon, "")               
              EndIf
          EndSelect
        Case #gad_btnHinzufuegen ; Datensatz anfügen
          DatenSatzHinzufuegen()
       
        Case #gad_btnAendern
          If GetGadgetState(#gad_ListStammdaten)  > -1
            DatenSatzAendern()
          Else
            MessageRequester("SQLite Tutorial", "Bitte erst den zu ändernden Datensatz selektieren!")
          EndIf
         
        Case #gad_btnLoeschen
          If GetGadgetState(#gad_ListStammdaten)  > -1
            DatenSatzLoeschen()
          Else
            MessageRequester("SQLite Tutorial", "Bitte erst den zu löschenden Datensatz selektieren!")
          EndIf
         
        Case #gad_btnSortieren
          ListFuellen()
      EndSelect
  EndSelect
ForEver
End

Procedure ListFuellen()
  ; Jetzt wird unser ListIconGadget mit Daten gefüllt
  ; hierfür ist die SQL-Anweisung SELECT zuständig. Das * steht für alles und hinter FROM wird die Tabelle angegeben
  ; ORDER BY feldname sorgt für eine Sortierung!
  Protected itemtext.s, i
 
  ClearGadgetItems(#gad_ListStammdaten)
 
  If DatabaseQuery(#DatenDB, "SELECT * FROM stammdaten ORDER BY artikelnummer")
    While NextDatabaseRow(#DatenDB)
      itemtext = GetDatabaseString(#DatenDB, 0) ; unsere versteckte eindeutige ID
      For i = 1 To 2 ; Artikelnummer, Bezeichnung!
        itemtext + #LF$ + GetDatabaseString(#DatenDB, i)
      Next
      AddGadgetItem(#gad_ListStammdaten, -1, itemtext)
    Wend
    FinishDatabaseQuery(#DatenDB); Diese Funktion ist immer nach einem Query auszuführen!
  Else
    Debug DatabaseError()
  EndIf
EndProcedure

Procedure DatenSatzHinzufuegen()
  Protected.s SQL, id, artikelnummer, bezeichnung, itemtext
 
  artikelnummer = GetGadgetText(#gad_strArtikelnummer)
  bezeichnung = GetGadgetText(#gad_strBezeichnung)
 ; bestand = GetGadgetText(#gad_strBestand)
 ; plz = GetGadgetText(#gad_strPLZ)
 ; ort = GetGadgetText(#gad_strOrt)
 ; telefon = GetGadgetText(#gad_strTelefon)
 

 
  ; Hierfür ist die SQL-Anweisung: "INSERT INTO ..." zuständig!
  SQL = "INSERT INTO stammdaten (artikelnummer, bezeichnung) "
  SQL + "VALUES ('"
  SQL + artikelnummer + "','"
  ;SQL + bezeichnung + "','"
  ;SQL + strasse + "','"
  ;SQL + plz + "','"
  ;SQL + ort + "','"
  SQL + bezeichnung + "')"
 
  If DatabaseUpdate(#DatenDB, SQL) ; Eintragen in die DB.
    ; Jetzt benötigen wir noch die automatisch generierte ID um sie in unsere Liste einzutragen
    If DatabaseQuery(#DatenDB, "SELECT last_insert_rowid()")
      NextDatabaseRow(#DatenDB)
      id = GetDatabaseString(#DatenDB, 0)
      FinishDatabaseQuery(#DatenDB)
     
      itemtext = id + #LF$ + artikelnummer + #LF$ + bezeichnung
      AddGadgetItem(#gad_ListStammdaten, -1, itemtext)
    EndIf
  Else
    Debug DatabaseError()
  EndIf
EndProcedure

Procedure DatenSatzAendern()
  Protected.s SQL, id, artikelnummer, bezeichnung, itemtext
  Protected item
 
  artikelnummer = GetGadgetText(#gad_strArtikelnummer)
  bezeichnung = GetGadgetText(#gad_strBezeichnung)
 ;bestand = GetGadgetText(#gad_strBestand)
 ; plz = GetGadgetText(#gad_strPLZ)
 ; ort = GetGadgetText(#gad_strOrt)
 ; telefon = GetGadgetText(#gad_strTelefon)
 
  ; ID des selektierten Eintrags ermitteln
  item = GetGadgetState(#gad_ListStammdaten)
  id = GetGadgetItemText(#gad_ListStammdaten, item, 0)

  ; Zum ändern nutzen wir die SQL-Anweisung: "UPDATE tabellenname SET"
  SQL = "UPDATE stammdaten SET "
  SQL + "artikelnummer = '" + artikelnummer + "',"
  SQL + "bezeichnung = '" + bezeichnung + "' "  ; bei weiteren Feldern auf das Komma(,) achten!!
  ;SQL + "bestand = '" + bestand + "' "
 ; SQL + "plz = '" + plz + "',"
 ; SQL + "ort = '" + ort + "',"
 ; SQL + "telefon = '" + telefon + "' "
  SQL + "WHERE id = " + id

  If DatabaseUpdate(#DatenDB, SQL) = #False
    Debug DatabaseError()
  Else
    SetGadgetItemText(#gad_ListStammdaten, item, artikelnummer, 1)
    SetGadgetItemText(#gad_ListStammdaten, item, bezeichnung, 2)
    ;SetGadgetItemText(#gad_ListStammdaten, item, bestand, 3)
    ;SetGadgetItemText(#gad_ListStammdaten, item, plz, 4)
    ;SetGadgetItemText(#gad_ListStammdaten, item, ort, 5)
    ;SetGadgetItemText(#gad_ListStammdaten, item, telefon, 6)
  EndIf
EndProcedure

Procedure DatenSatzLoeschen()
  Protected.s SQL, id
  Protected item
 
  item = GetGadgetState(#gad_ListStammdaten)
  id = GetGadgetItemText(#gad_ListStammdaten, item, 0)
  SQL = "DELETE FROM stammdaten WHERE id = " + id
 
  If DatabaseUpdate(#DatenDB, SQL) = #False
    Debug DatabaseError()
  Else
    RemoveGadgetItem(#gad_ListStammdaten, item)
  EndIf
EndProcedure

Procedure CreateFormMain()
  Protected ListIconFlags = #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect
  CompilerIf #PB_Compiler_OS = #PB_OS_Windows
    ListIconFlags | #PB_ListIcon_AlwaysShowSelection
  CompilerEndIf
  
  
  OpenWindow(#frm_Main, #PB_Ignore, #PB_Ignore, 640, 480, "Stammdaten bearbeiten")
  PanelGadget(#gad_Panel, 0, 0, 640, 415)
    AddGadgetItem(#gad_Panel, -1, "Stammdaten")
      ListIconGadget(#gad_ListStammdaten, 5, 5, GetGadgetAttribute(#gad_Panel, #PB_Panel_ItemWidth) - 10, GetGadgetAttribute(#gad_Panel, #PB_Panel_ItemHeight) - 10, "id", 1, ListIconFlags)
      ; die erste Spalte verwaltet die eindeutige ID und ist nicht sichtbar! (groesse von 0 ist unter Linux nicht erlaubt, deshalb 1)

      AddGadgetColumn(#gad_ListStammdaten, 1, "Artikelnummer", 140)
      AddGadgetColumn(#gad_ListStammdaten, 2, "Bezeichnung", 150)
     ; AddGadgetColumn(#gad_ListStammdaten, 3, "Bestand", 110)
     ; AddGadgetColumn(#gad_ListStammdaten, 4, "PLZ", 45)
     ; AddGadgetColumn(#gad_ListStammdaten, 5, "Ort", 125)
     ; AddGadgetColumn(#gad_ListStammdaten, 6, "Telefon", 90)
  CloseGadgetList()
  ContainerGadget(#gad_Container, 5, 420, 630, 60)
  StringGadget(#gad_strArtikelnummer, 5, 0, 110, 25, "")
  StringGadget(#gad_strBezeichnung, 120, 0, 400, 25, "")
 ; StringGadget(#gad_strBestand, 550, 0, 60, 25, "")
 ; StringGadget(#gad_strPLZ, 355, 0, 45, 25, "")
 ; StringGadget(#gad_strOrt, 400, 0, 125, 25, "")
 ; StringGadget(#gad_strTelefon, 525, 0, 95, 25, "")
  ButtonGadget(#gad_btnHinzufuegen, 5, 30, 100, 25, "Hinzufügen")
  ButtonGadget(#gad_btnAendern, 115, 30, 80, 25, "Ändern")
  ButtonGadget(#gad_btnLoeschen, 205, 30, 80, 25, "Löschen")
  ButtonGadget(#gad_btnSortieren, 540, 30, 80, 25, "Sortieren")
      
      
      
      
      
      
      
     
  CloseGadgetList()
EndProcedure


Programm Artikeleingang:

Code: Alles auswählen

; *******************************************************************************
; ******************                                         ********************
; ******************  Vielen Dank für die sehr Gute Vorlage  ********************
; ******************     der Musterdatenbank an  ts-soft     ********************
; ******************                                         ********************
; *******************************************************************************






EnableExplicit

UseSQLiteDatabase()

#DatenDB = 0
#frm_Main = 0

Enumeration ; Gadgets
  #gad_Panel
  #gad_ListStammdaten
  #gad_Container
 
  #gad_btnHinzufuegen
  #gad_btnAendern
  #gad_btnLoeschen
  #gad_btnSortieren

  
  ; ******************************** eigene Felder ********************
  #gad_Text1
  #gad_text2
  #gad_strDatum
  #gad_strLieferscheinnummer
  #gad_strArtikelnummer
  #gad_strBezeichnung
  ;#gad_strAB_Nummer
  ;#gad_strJob_Nummer
  #gad_strBestand
  #gad_strEingang
  #gad_Botten_abbrechen
  #gad_botten_speichern
  
  ;#gad_strAusgang
  ; ******************************** Ende eigene Felder ***************
  
  
EndEnumeration

Declare CreateFormMain()
Declare DatenSatzHinzufuegen()
Declare DatenSatzAendern()
Declare DatenSatzLoeschen()
Declare ListFuellen()
Define Test$
Define Text$
Define Ergebnis
Define Datum = 0
Define Datumneu
Define db_name.s = "Daten.db"
db_name.s = "Daten.db"
                
Define SQL.s

; Wir überprüfen ob die DB bereits existiert, wenn nicht, Fehlermeldung
  If FileSize(db_name) <= 0
    MessageRequester("Fehler", "Daten.db" + " Existiert nicht!") : End
  EndIf 

  If OpenDatabase(#DatenDB, db_name, "", "") = #False
    Debug DatabaseError()
    End
  EndIf


 ; Sicherung der Datenbank erstellen
     
      Ergebnis = CopyFile("Daten.db", "Datenold.db")
      ;Debug ergebnis
      If Ergebnis = 0
       MessageRequester("Fehler", "Daten.db" + " konnte nicht gesichert werden!")
      EndIf 
; *********************************   Beginn Eingang von Artikeln ************************************************

If OpenWindow(0, 5, 10, 880, 750, "Eingabe Ersatzteileingang", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_WindowCentered)
  SetWindowColor(0, RGB(192,192,192))
  TextGadget(#gad_Text1, 10, 10, 180, 40, "Text 1")
  TextGadget(#gad_Text2, 400, 10, 180, 40, "Text 2")
  DateGadget(#gad_strDatum, 10, 100, 280, 50, "Lieferschein Datum:    %dd.%mm.%yyyy ")
  TextGadget(#gad_strLieferscheinnummer, 400,100,280,50, "Lieferscheinnummer")
  SetGadgetItemText(#gad_strLieferscheinnummer, 0, "" )
  ButtonGadget(#gad_botten_speichern, 300, 650, 200, 50, "Speichern")
  ButtonGadget(#gad_Botten_abbrechen, 630, 650, 200, 50, "Abbrechen")

  
  ListViewGadget(3, 10, 220, 820, 400)
  
 Datum = GetGadgetState( #gad_strDatum)
  
  If datum <> Datumneu
    
    datumneu = Datum
     Text$ = FormatDate("%dd, %mm, %yyyy", Datumneu)
  Debug Datumneu
  Debug Text$
  Debug #gad_strLieferscheinnummer
    
    
  Else

  Text$ = FormatDate("%dd, %mm, %yyyy", Datum)
  Debug Datum
  Debug Text$
  EndIf 
 
  

 Repeat
   Until WaitWindowEvent() = #PB_Event_CloseWindow
 EndIf
Edit by NicTheQuick: Code-Tags gesetzt und korrigiert
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Ersatzteildatenbank

Beitrag von ts-soft »

Jetzt hat Nic wohl die beiden unabhängigen Sourcen in einem gewandelt :mrgreen:

So ganz ist mir das Problem nicht klar, aber ein paar Hinweise kann ich ja erst mal geben:
Das Datum wird in der Datenbank als String gespeichert und auch als String gelesen.
Das DateGadget verwaltet das Datum als Long.
Zum wandeln sind folgende Funktionen wichtig:
string = FormatDate()
datum = ParseDate()

Also string in die DB, datum ins DateGadget.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
bmertke
Beiträge: 4
Registriert: 26.01.2008 13:25

Re: Ersatzteildatenbank

Beitrag von bmertke »

Vielen Dank.

Programm: Ersatzteileingang:

Mein Problem ist. Das neu ausgewählte Datum bekomme ich einfach nicht angezeigt.

Es wird immer wieder das Tagesdatum gezeigt.

Burkhard
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Ersatzteildatenbank

Beitrag von dysti »

Kann ja auch nichts passieren:

Code: Alles auswählen

Repeat
   Until WaitWindowEvent() = #PB_Event_CloseWindow
 EndIf
Wie soll da ein Abspeichern der Daten erfolgen?
Der Button "Speichern" wird nicht abgefragt.
Die Frage ist jetzt wo das Problem ist!
Keine Ahnung vom Aufbau einer Ereignisschleife oder einfach was vergessen zu kopieren?


Oh, zu spät, da war TS-Soft schneller
Zuletzt geändert von dysti am 27.01.2013 17:19, insgesamt 1-mal geändert.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Ersatzteildatenbank

Beitrag von ts-soft »

Im Gadget wird es ja automatisch angezeigt.
Zum auslesen:

Code: Alles auswählen

Debug FormatDate("%dd.%mm.%yyyy", GetGadgetState(#DateGadget))
Zum setzen:

Code: Alles auswählen

SetGadgetState(#DateGadget, ParseDate("%dd.%mm.%yyyy", "01.04.2013"))
Ich hoffe mal, das beantwortet Deine Frage.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Ersatzteildatenbank

Beitrag von NicTheQuick »

ts-soft hat geschrieben:Jetzt hat Nic wohl die beiden unabhängigen Sourcen in einem gewandelt :mrgreen:
Hoppla. :lol:
bmertke
Beiträge: 4
Registriert: 26.01.2008 13:25

Re: Ersatzteildatenbank

Beitrag von bmertke »

Vielen Dank. Jetzt klappt es.

Burkhard

Code: Alles auswählen

[code]
 Datum$ = FormatDate("%dd.%mm.%yyyy", GetGadgetState(#gad_strDatum))
  Debug FormatDate("%dd.%mm.%yyyy", GetGadgetState(#gad_strDatum))
  SetGadgetState(#gad_strDatum, ParseDate("%dd.%mm.%yyyy", Datum$))
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Ersatzteildatenbank

Beitrag von ts-soft »

Wenn die Datenbank nicht unbedingt Wissen muss, das es ein Datum ist, kannst Du das Datum auch als
Long speichern und auslesen:

Code: Alles auswählen

Datum.l = GetGadgetState(#gad_strDatum)
SetGadgetState(#gad_strDatum, Datum.l) 
Es wird dann zur Anzeige die Maske genommen, die Du beim erstellen des DateGadgets genutzt hast,
bzw. kann die Maske mit SetGadgetText(#Date_Gadget, "%dd.%mm.%yyyy") gesetzt werden.

Falls Dich das jetzt verwirrt, ignoriere es einfach :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
bmertke
Beiträge: 4
Registriert: 26.01.2008 13:25

Re: Ersatzteildatenbank

Beitrag von bmertke »

In der Datenbank wurde das Datum auch als Datum definiert.

Burkhard
Antworten