Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   10.01.18 19:02

Hab mein Progrämmchen von damals gefunden :-)
 Declare String datei, name, ort, hobbys, Integer nr
 Declare Long p1, ende, zeile, lpos,  String p2
 Declare Handle Fenster, Grid, Edit1, Edit2, Edit3, Edit4, MEdit
 Declare Handle Btn1, Btn2, Btn3, Btn4, Btn5, Btn6
 Declare String spalten, E1, E2, E3, E4, ME
 
 spalten = "Name;0;120;Nummer;0;80;Ort;0;120;Hobbys;0;240"
 name = " "
 ende = 0
 datei = $AppDataDir +"Hobbys.ini"
 
 UserMessages $10
 
 Fenster = Create("Dialog", %DeskTop, "Adressbuch in Gridbox", 100, 100, 640, 500)
 Create("Text", Fenster, "Name   :", 10, 10, 70, 25)
 Create("Text", Fenster, "Nummer :", 10, 40, 70, 25)
 Create("Text", Fenster, "Ort    :", 10, 70, 70, 25)
 Create("Text", Fenster, "Hobbys :", 10, 100,70, 25)
 Edit1 = Create("Edit", Fenster, "", 80, 10, 240, 25)
 Edit2 = Create("Edit", Fenster, "", 80, 40, 60, 25)
 Edit3 = Create("Edit", Fenster, "", 80, 70, 240,25)
 Edit4 = Create("Edit", Fenster, "", 80,100, 360,25)
 Btn1  = Create("Button", Fenster, "Neuer DS", 520, 10, 80, 25)
 Btn2  = Create("Button", Fenster, "Laden",     520, 40, 80, 25)
 Btn3  = Create("Button", Fenster, "Drucken",   520, 70, 80, 25)
 Btn4  = Create("Button", Fenster, "Löschen",   520,100, 80, 25)
 Btn5  = Create("Button", Fenster, "Update DS", 520,130, 80, 25)
 Btn6  = Create("Button", Fenster, "Ende",      520,160, 80, 25)
 MEdit = Create("MultiEdit", Fenster, "Bemerkung", 10, 150, 420, 80)
 Grid  = Create("Gridbox",Fenster, spalten, 0,  10, 250, 560, 200)
 
 WhileNot ende
    WaitInput
    If Clicked(Btn1)
       Eingabe()
    ElseIf Clicked(Btn2)
       Ausgabe()
    ElseIf Clicked(Btn3)
       Drucken()
    ElseIf Clicked(Btn4)
       If GetState(Grid, zeile)
         LoescheSatz(zeile + 1)
       Else
         MessageBox("Kein Datensatz markiert !", "Fehler !", 0)
       EndIf
    ElseIf Clicked(Btn5)
        If GetState(Grid, zeile)
           E1 = GetText$(Edit1)
           E2 = GetText$(Edit2)
           E3 = GetText$(Edit3)
           E4 = GetText$(Edit4)
           ME = Translate$(GetText$(MEdit), Chr$(13) + Chr$(10), "|")
           UpdateSatz(zeile + 1)
        Else
           MessageBox("Kein Datensatz markiert !", "Fehler !", 0)
        EndIf
    ElseIf Clicked(Btn6)
       ende = 1
    EndIf
    If @Clicked(Grid) ' Eintrag in der Gridbox geklickt ?
       zeile = GetCurSel(Grid)
       If GetState(Grid, zeile)
          SetText Edit1, GetText$(Grid, zeile, 0)
          SetText Edit2, GetText$(Grid, zeile, 1)
          SetText Edit3, GetText$(Grid, zeile, 2)
          SetText Edit4, GetText$(Grid, zeile, 3)
          SetText MEdit, Translate$(ReadIni$(datei, zeile + 1, "Text1"), "|", Chr$(13) + Chr$(10))
       EndIf
    EndIf
    Case %UMessage = $10 : ende = 1
 EndWhile
 
 
 Proc Eingabe
 Declare Long pos
     E1 = GetText$(Edit1)
     E2 = GetText$(Edit2)
     E3 = GetText$(Edit3)
     E4 = GetText$(Edit4)
     ME = Translate$(GetText$(MEdit), Chr$(13) + Chr$(10), "|")
     If E1 <> ""
       pos = NeuerDatensatz(E1, E2, E3, E4, ME)
        Ausgabe()
        SelectString(Grid, -1, E1)
     Else
        MessageBox("Kein Name eingegeben !", "Fehler !", 0)
     EndIf
 EndProc
 
 
 Proc Ausgabe
 Declare Int x, y
 Declare String ds, l
 x = 5
 y = 3
 If FileExists(datei)
    p2 = ReadIni$(datei, "Datensätze", "Anzahl")
    p1 = Val(p2)
    ClearList
    If p1 > 0
       WhileLoop 1, p1
         E1 = ReadIni$(datei, Str$(&LOOP), "Name")
         E2 = ReadIni$(datei, Str$(&LOOP), "Nummer")
         E3 = ReadIni$(datei, Str$(&LOOP), "Ort")
         E4 = ReadIni$(datei, Str$(&LOOP), "Hobbys")
         l  = ReadIni$(datei, Str$(&LOOP), "Lösch")
         If l = "N"
            AddString(0, E1 + "|" + E2 + "|" + E3 + "|" + E4)
         EndIf
       EndWhile
       ClearList Grid
       Move("ListToHandle", Grid)
    Else
      MessageBox("Keine Sätze vorhanden !", "Hinweis !", 0)
    EndIf
 Else
    MessageBox(datei + " nicht gefunden !\nNeue Datei ohne\nEinträge geschrieben !", "Fehler !", 0)
    WriteIni datei, "Datensätze", "Anzahl", "0"
 EndIf
 
 EndProc
 
 
 Proc NeuerDatensatz
 Parameters String name, Long nr, String ort, hobbys, text
 Declare String anzahl, loesch, Long az, a
 If FileExists(datei)
    anzahl = ReadIni$(datei, "Datensätze", "Anzahl")
    az = Val(anzahl)
    a = 0
    If az > 1
       WhileLoop 1, az
        loesch = ReadIni$(datei, Str$(&LOOP), "Lösch")
        If loesch = "*"
           a = &LOOP
           Break
        EndIf
      EndWhile
    EndIf
    If a > 0
       az = a
    Else
       Inc az
       WriteIni datei, "Datensätze", "Anzahl", Str$(az)
    EndIf
 
    WriteIni datei, Str$(az), "Name", name
    WriteIni datei, Str$(az), "Nummer", Str$(nr)
    WriteIni datei, Str$(az), "Ort", ort
    WriteIni datei, Str$(az), "Hobbys", hobbys
    WriteIni datei, Str$(az), "Lösch", "N"
    WriteIni datei, Str$(az), "Text1", text
    Return az
 EndIf   
 EndProc
 
 Proc Drucken
 Declare Long a, y, x1, x2, x3, x4
 Declare String zeile
 x1 = 50
 x2 = 210
 x3 = 270
 x4 = 420
 y = 24
 ClearList
 Move("HandleToList", Grid)
 a = GetCount(0)
 If a > 1
    StartPrint "*MeinDokument"
    If %Printing
       DrawText x3, y , "Datensätze", 6
       Inc y, 24
       DrawText x1, y, "NAME", 0 : DrawText x2, y, "NR", 0
       DrawText x3, y, "WOHNORT", 0 : DrawText x4, y, "HOBBYS", 0
       Inc y, 24
       DrawText x1, y, MkStr$("-", 450)
       Inc y, 24
       WhileLoop 0, a - 1
          zeile = GetString$(0, &LOOP)
          DrawText x1, y, SubStr$(zeile, 1, "|") : DrawText x2, y, SubStr$(zeile, 2, "|")
          DrawText x3, y, SubStr$(zeile, 3, "|") : DrawText x4, y, SubStr$(zeile, 4, "|")
          Inc y, 24
       EndWhile
     EndPrint
    EndIf
 EndIf
 EndProc
 
 Proc LoescheSatz
 Parameters Long lp
    WriteIni datei, Str$(lp), "Lösch", "*"
    Ausgabe()
 EndIf
 EndProc
 
 Proc UpdateSatz
 Parameters Long lp
    WriteIni datei, Str$(lp), "Name", E1
    WriteIni datei, Str$(lp), "Nummer", E2
    WriteIni datei, Str$(lp), "Ort", E3
    WriteIni datei, Str$(lp), "Hobbys", E4
    WriteIni datei, Str$(lp), "Lösch", "N"
    WriteIni datei, Str$(lp), "Text1", ME
    Ausgabe()
 EndProc
 
 End
 


H.Brill
XProfan X4 + FreeProfan

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Markus Barkholz 09.01.18 17:27 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
p. specht 09.01.18 18:20 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Markus Barkholz 09.01.18 18:40 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Heinz Brill 09.01.18 18:46 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Heinz Brill 09.01.18 19:46 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Heinz Brill 10.01.18 17:01 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Heinz Brill 10.01.18 19:02 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Markus Barkholz 10.01.18 19:22 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Heinz Brill 11.01.18 16:38 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Markus Barkholz 11.01.18 21:35 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Heinz Brill 12.01.18 04:22 
 Re: Behandlung von Textdateien (Speicern/Laden/EditBox/Multiedit))  Neu
Heinz Brill 13.01.18 07:34 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org