![]() |
Aktuelle Cursorposition im RecordSet-Objekt auslesen?
Wie kann ich die aktuelle Position des Cursors in einem Recordset auslesen?
|
Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?
Mauskoordinaten lesen:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var MausPos: TPoint; begin GetCursorPos(MausPos); label1.Caption := IntToStr(MausPos.x); label2.Caption := IntToStr(MausPos.y); end; Mausposition setzen:
Code:
procedure TForm1.Button2Click(Sender: TObject);
begin SetCursorPos(600, 600); end; |
Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?
Entweder hab ich mich jetzt falsch ausgedrückt oder du hast mich falsch verstanden:
Ich möchte wissen, welche Funktion mir die Nummer des aktuellen Datensatzes eines Recordsets zurückgibt!
Delphi-Quellcode:
uses ADOInt;
procedure TForm1.cmdVorClick(Sender: TObject); begin rst.MoveNext; txtBezeichnung.Text := rst.Fields[1].Value; cmdZurueck.Enabled:= True; if ???? >= AnzahlDatensaetze then begin cmdVor.Enabled := False; end; end; |
Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?
Delphi-Quellcode:
[edit=Sharky]Delphi-Tags gesetzt! Mfg, Sharky[/edit]
procedure PackTable(Table: TTable);
var FCurProp: CurProps; TblDesc: CRTblDesc; hDb: hDbiDB; TablePath: array[0..dbiMaxPathLen] of Char; Exclusive: Boolean; begin if not Table.Active then _DBError(SDataSetClosed); Check(DbiGetCursorProps(Table.Handle, FCurProp)); if StrComp(FCurProp.szTableType, szParadox) = 0 then begin hDb := nil; FillChar(TblDesc, SizeOf(CRTblDesc), 0); with TblDesc do begin StrPCopy(szTblName, Table.TableName); StrCopy(szTblType, FCurProp.szTableType); bPack := True; end; Check(DbiGetDirectory(Table.DBHandle, False, TablePath)); Table.Close; try Check(DbiOpenDatabase(nil, szCFGDBSTANDARD, dbiReadWrite, dbiOpenExcl, nil, 0, nil, nil, hDb)); Check(DbiSetDirectory(hDb, TablePath)); Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, False)); Check(DbiCloseDatabase(hDb)); finally Table.Open; end; end else if StrComp(FCurProp.szTableType, szDBase) = 0 then begin Exclusive := Table.Exclusive; Table.Close; try Table.Exclusive := True; Table.Open; try Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, nil,True)); finally Table.Close; end; finally Table.Exclusive := Exclusive; Table.Open; end; end else DbiError(DBIERR_WRONGDRVTYPE); end; |
Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?
@speedzisch: Was haben deine beiden Postings denn mit der Frage von mirko2000 zu tun? :shock:
|
Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?
@speedzisch: Möchte ich auch mal wissen
@mirko2000: AbsolutePosition, aber ich weiß nicht was du genau verwendest. |
Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?
Liste der Anhänge anzeigen (Anzahl: 1)
Ich möchte, dass die Buttons "Vor" bzw. "Zurück" deaktiviert werden, wenn der erste bzw. letzte Datensatz erreicht ist.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) cmdErster: TButton; cmdZurueck: TButton; cmdVor: TButton; cmdLetzter: TButton; cmdEnde: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; txtBezeichnung: TEdit; txtFirma: TEdit; txtOrt: TEdit; procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure cmdEndeClick(Sender: TObject); procedure cmdErsterClick(Sender: TObject); procedure cmdLetzterClick(Sender: TObject); procedure cmdZurueckClick(Sender: TObject); procedure cmdVorClick(Sender: TObject); private procedure AnzahlDS(); { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation uses ADOInt; var con: Connection; rst: Recordset; anzahl : Integer; const erst = 0; zurueck = 1; vor = 2; letzt = 3; {$R *.dfm} procedure TForm1.FormActivate(Sender: TObject); var strsql: String; begin con:= CoConnection.Create; rst:= CoRecordset.Create; strsql:= 'SELECT * FROM HERSTELLER'; con.Open('AutoVermittlung','','',-1); rst.Open(strsql, con, adOpenKeyset, adLockReadOnly, 1); rst.MoveFirst; cmdZurueck.Enabled:= False; txtBezeichnung.Text:= rst.Fields[1].Value; txtFirma.Text:= rst.Fields[2].Value; txtOrt.Text:= rst.Fields[5].Value; AnzahlDS(); end; procedure TForm1.AnzahlDS(); begin anzahl := rst.RecordCount; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin rst.Close; con.Close; rst:= nil; con:= nil; end; procedure TForm1.cmdEndeClick(Sender: TObject); begin form1.Close; end; procedure TForm1.cmdErsterClick(Sender: TObject); begin rst.MoveFirst; txtBezeichnung.Text := rst.Fields[1].Value; cmdVor.Enabled := True; cmdZurueck.Enabled:= False; end; procedure TForm1.cmdLetzterClick(Sender: TObject); begin rst.MoveLast; txtBezeichnung.Text := rst.Fields[1].Value; cmdVor.Enabled := False; cmdZurueck.Enabled:= True; end; procedure TForm1.cmdZurueckClick(Sender: TObject); begin rst.MovePrevious; txtBezeichnung.Text := rst.Fields[1].Value; cmdVor.Enabled := True; end; procedure TForm1.cmdVorClick(Sender: TObject); begin rst.MoveNext; txtBezeichnung.Text := rst.Fields[1].Value; cmdZurueck.Enabled:= True; end; end. |
Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?
Hinweis: Ich habe 3 der 4 Beiträge von speedzisch gelöscht, da alle sinnfrei vom Kontext standen. Einer ist zur Dokumentation noch dabei.
...:cat:... |
Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?
Was du eher verwenden solltest ist.
rst.BOF - Beginn of File rst.EOF - End of File |
Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?
Zitat:
Delphi-Quellcode:
procedure TForm1.cmdZurueckClick(Sender: TObject);
begin rst.MovePrevious; txtBezeichnung.Text := rst.Fields[1].Value; cmdVor.Enabled := True; if rst.BOF = true then begin cmdZurueck.enabled = false; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz