| |
|
|
Peter Gückstock | Hallo Profaner,
Ich stelle heute zwei Fragen zur Arbeit mit Datenbanken: 1. Frage: Ich habe ein Programm geschrieben, mit dem ich eine Datenbank erstelle, bearbeite, Datensätze hinzufüge und verändern kann, alles was XProfan so hergibt. Aber wie kann ich an beliebiger Stelle in der Datenbank einen leeren Datensatz einfügen? Manchmal werden Daten nachgeliefert, die an einer bestimmten Stelle in die Datenbank einsortiert werden müssen. Ich habe im Befehlssatz von XProfan nichts dafür gefunden . Gibt es eine allgemeingültige Prozedur dafür, die ich in mein Programm einfügen kann? 2. Frage: Ich lasse mir Daten in einer Listview Mostra. In der Anleitung zur Listview DLL steht, dass die Zeilenhöhe sich automatisch dem Systemfont anpasst. Wie kann Io l' verändern und an welcher Stelle im Programm muss das geschehen? Ich habe einen Font% mit create erstellt und setdialogfont Font% verwendet, aber keine Reaktion.
Saluto Peter
WIN XP, XProfan10 |
|
|
| |
|
|
|
Wilfried Friebe | KompilierenMarkierenSeparierenDeclare lesenE1$, lesenE2$, lesenE3$, lesenE4$, lesenE5$, lesenE6$
Declare abbrecht%, abbrecht1%, test1%, aab%
proc einfügen
aab% ist die Nr die eingefügt werden soll
hier die Nr einlesen input Nr oder so
if aab% = 0
abbrecht% = @Create(Text,%hWnd, Einfügen abgebrochen. ,550,380,300,20)
abbrecht1% = @Create(Text,%hWnd, Taste drücken ,550,410,300,20)
waitinput
endif
if aab% > 0
@db(Go, >|)
@db(AppendBlank)
@db(Go, >|)
test1% = @DB(Put, LP_TITEL,)
test1% = @DB(Put, INTERPRET,)
test1% = @DB(Put, SORTE,)
test1% = @DB(Put, LP_CD_MC,)
test1% = @DB(Put, ORT,)
test1% = @DB(Put, TITEL_01,)
@db(PutRec,&dbRecNo)
@db(Go, >|)
WhileLoop &dbRecNo,aab%+1,-1
@db(Go, <)
lesenE1$ = @DB(Get, LP_TITEL,)
lesenE2$ = @DB(get, INTERPRET,)
lesenE3$ = @DB(get, SORTE,)
lesenE4$ = @DB(get, LP_CD_MC,)
lesenE5$ = @DB(get, ORT,)
lesenE6$ = @DB(get, TITEL_01,)
@db(Go, >)
test1% = @DB(put, LP_TITEL,lesenE1$)
test1% = @DB(put, INTERPRET,lesenE2$)
test1% = @DB(put, SORTE,lesenE3$)
test1% = @DB(put, LP_CD_MC,lesenE4$)
test1% = @DB(put, ORT,lesenE5$)
test1% = @DB(put, TITEL_01,lesenE6$)
@db(PutRec,&dbRecNo)
@db(Go, <)
test1% = @DB(Put, LP_TITEL,)
test1% = @DB(Put, INTERPRET,)
test1% = @DB(Put, SORTE,)
test1% = @DB(Put, LP_CD_MC,)
test1% = @DB(Put, ORT,)
test1% = @DB(Put, TITEL_01,)
@db(PutRec,&dbRecNo)
EndWhile
@db(Go, * ,aab%)
endif
if aab% = 0
@destroyWindow(abbrecht%)
@destroyWindow(abbrecht1%)
endif
href='./../../funktionsreferenzen/xprofan/endproc/'>endproc
So habe ich es realisiert. Mal sehen ob du damit was anfangen kannst Das zweite währe mit einer laufenden Nr. und die dann sortieren lassen. Saluto Wilfried |
|
|
| Board MSI B450M BAZOOKA CPU AMD Ryzen 7 2700x 8 Core 3,7-4,2 GH 32 Gb Ram NVIDIA GeForce GTX 3060 12 GB Ram Window 11 Prof 64 Bit
Sun-Guru-Barebone CPU I7-9750H 16 GB Ram NVIDIA GeForce GTX1660TI 6 GB Ram Window 11 Hom 64 Bit
Profan 4.5 bis Xprofan 14 Ein frisch geschriebenes Programm hat meistens einen großen Fehler.Sollte man versuchen diesen großen Fehler zu beseitigen, hat man viele kleine Fehler "Grins" | 16.07.2007 ▲ |
|
|
|
|
| Hallo Peter,
das
WIN XP, XProfan10 kannst Du in Deine Signatur eintragen - oben rechts unter Optionen.
Was die XProfanschen DB-Befehle betrifft kann ich Dir ldr. nicht weiterhelfen - dafür sicher aber andere Mitglieder.
Was die Listview betrifft probiere mal setfont und updatelistview bzw. updatewindow-Api. |
|
|
| |
|
|
|
Thomas Freier | nun gut, neue Datensätze zwischen vohandene einfügen ist nicht unbedingt Sinn einer Datenbankanwendung. Für die Auflistung (Browse) ist eine eine entsprechende Index-Verwaltung gang und gebe. Wer weiß denn, wo der neue Datensatz hingehört und wer prüft, dass der neue Datensatz an der richtigen Position ist? Wird die Datenbank circa eine ListView verwaltet, so kann ja vorgegeben werden, an welcher Stelle die neue Zeile eingefügt werden soll. Nach ListView ToDbf ist dann die Reihenfolge wie in der angezeigten Listview.
Fontzuweisung wie in Franks Beispielen: KompilierenMarkierenSeparierenFont& = @CREATE(FONT,NEW TIMES ROMAN,18,0,1,0,0)
listview&=CreateListView(%hwnd,%hinstance,0,Rgb(150,150,255),-1,$31)
SetFont listview&,Fon re> Die Zeilenhöhe glaube ich, läßt sich nur wie im Beispiel mit einem Blind-Icon erzwingen. |
|
|
| |
|
|