Italia
Foro

dBase-Tabelle mit Memofeld und Verschlüsselung

 
- Page 1 -



Dietmar
Horn
Hallo zusammen,

wahrscheinlich habe ich mal wieder eine Denkblockade:

Das Schreiben und Auslesen eines normalen dBase-Feldes klappt.

Beim Auslesen des Memofeldes scheint aber die Entschlüsselung nicht zu funktionieren.

Sieht jemand vielleicht meinen Denkfehler?
KompilierenMarkierenSeparieren
PASSWORD 0,"XProfanX2b"
CLS
Declare i&
Var strdat$ = $ProgDir + "dbftest.str"
var dbfdat$ = $ProgDir + "dbftest.dbf"
Var MEdit& = Create("MultiEdit",%HWnd,"",5,60,300,-200)

IfNot Fileexists(dbfdat$)

    assign #1,strdat$
    rewrite #1
    print #1,"NAME;C;200;0"
    print #1,"M1;M;10;0"
    close #1

EndIf

db("Create",strdat$,dbfdat$)
db("Open",#1,dbfdat$)
db("Use",#1)
i& = db("AppendBlank")
db("Put","NAME",encode64(pwd$("Hülsmann")))
Clearlist
AddString encode64(pwd$("Notizen über RGH"))
print encode64(pwd$("Notizen über RGH"))
AddString encode64(pwd$("und sein XProfan."))
print encode64(pwd$("und sein XProfan."))
db("PutMemo","M1")
Clearlist
db("PutRec",i&)
print
print pwd$(decode64(trim$(db("Get","NAME"))))
pwd$(decode64(trim$(db("GetMemo","M1"))))
MoveListToHandle(MEdit&)
ClearList
Waitinput
db("Close",#1)
End

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
05.10.2011  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »

Habe oft Probleme gehabt und fülle jetzt die normalen dbf-Felder mit Ersatzzeichen bis zur zulässigen Feldlänge auf. Nach dem decodieren lösche ich die Ersatzeichen wieder.
Beim Memofeld mache ich es wie folgt:
KompilierenMarkierenSeparieren
PASSWORD 0,"XProfanX2b"
CLS
Declare i&
Var strdat$ = "dbftest.str"
var dbfdat$ = "dbftest.dbf"
Var MEdit& = Create("MultiEdit",%HWnd,"",5,160,300,-200)

IfNot Fileexists(dbfdat$)

    assign #1,strdat$
    rewrite #1
    print #1,"NAME;C;200;0"
    print #1,"M1;M;100;0"
    close #1

EndIf

db("Create",strdat$,dbfdat$)
db("Open",#1,dbfdat$)
db("Use",#1)
i& = db("AppendBlank")
db("Put","NAME",encode64(pwd$("Hülsmann")))
Clearlist
AddString encode64(pwd$("Notizen über RGH"))
AddString encode64(pwd$("und sein XProfan."))
MoveListToStr$(" ")
db("PutMemo","M1")
db("PutRec",i&)
print
print pwd$(decode64(trim$(db("Get","NAME"))))
print MoveListToStr$(" ")
Clearlist
@DB("GetMemo", "M1")
var LV%=CreateListBox(%hwnd,"",0,0,0,0)

WhileLoop 0,GetCount(0)-1

    RTFAddLine pwd$(decode64(GetString$(0,&Loop)))

EndWhile

ClearList
Waitinput
db("Close",#1)
End

Proc RTFAddLine

    Parameters  Text$
    Text$ = Text$ + "\n"
    SendMessage(MEdit&, 177, $FFFF, $FFFF)' EM_SETSEL
    SendMessage(MEdit&, 194, 0, Addr(Text$))' EM_REPLACESEL

EndProc


Saluto Thomas

PS. Keine Ahnung. Registro ging nicht. Hängte sich immer auf.
 
05.10.2011  
 




Thomas
Freier

Das Schreiben und Auslesen eines normalen dBase-Feldes klappt.


Bist du dir sicher Dietmar? NUM-, DATUM- und logische Felder auch?
 
Gruß Thomas
Windows XP SP2, XProfan X2
05.10.2011  
 




Dietmar
Horn
@Thomas: Ich wandele die zu schreibenden Daten immer schon vorher vom Programm aus passend um und schreibe sie grundsätzlich in ein CHAR-Feld. Das hat den Vorteil, daß ich mit der Tabelle auch später variabler sein kann, bei eventuellen zukünftigeren Erweiterungen und ggf. Veränderungen.

Außerdem muß ich von meinem Programm aus so oder so die Anwenderangaben auf Korrektheit überprüfen und ggf. korrigieren, damit es beim Schreiben in die Tabelle nicht knallt.

Durch diese Vorgehensweise habe ich noch nie NUM-, DATUM- und logische Felder in meinen Datenbankprogrammen gebraucht, weil das meiner Erfahrung nach viel einfacher und flexibler mit einfachen C-Feldern funktioniert.

Saluto
Dietmar
 
XProfan X2
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
05.10.2011  
 




Dietmar
Horn
Hallo Thomas,

ich habe Deinen Code leicht abgewandelt und ihn inzwischen in mein aktuelles Projekt eingebaut und es funktioniert damit alles tadellos. Danke!

Trotzdem bleibt bei mir die Frage bestehen, warum man diesen Umweg gehen muß, worauf man ja auch erst einmal kommen muß ...

Vielleicht kann Roland ja etwas dazu ausführen?

Saluto
Dietmar
 
XProfan X2
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
11.10.2011  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

8.308 Views

Untitledvor 0 min.
Torben Nissen04.05.2020
Manfred Barei26.09.2019
Georg Teles25.06.2019
Uwe Lang07.02.2019
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie