AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Aktuelle Cursorposition im RecordSet-Objekt auslesen?
Thema durchsuchen
Ansicht
Themen-Optionen

Aktuelle Cursorposition im RecordSet-Objekt auslesen?

Ein Thema von mirko2000 · begonnen am 1. Apr 2004 · letzter Beitrag vom 1. Apr 2004
Antwort Antwort
Seite 1 von 2  1 2      
mirko2000

Registriert seit: 9. Nov 2003
69 Beiträge
 
#1

Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 11:08
Wie kann ich die aktuelle Position des Cursors in einem Recordset auslesen?
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#2

Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 11:14
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;
  Mit Zitat antworten Zitat
mirko2000

Registriert seit: 9. Nov 2003
69 Beiträge
 
#3

Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 11:19
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;
  Mit Zitat antworten Zitat
speedzisch

Registriert seit: 1. Apr 2004
1 Beiträge
 
#4

Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 11:22
Delphi-Quellcode:
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;
[edit=Sharky]Delphi-Tags gesetzt! Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 11:32
@speedzisch: Was haben deine beiden Postings denn mit der Frage von mirko2000 zu tun?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#6

Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 11:35
@speedzisch: Möchte ich auch mal wissen

@mirko2000: AbsolutePosition, aber ich weiß nicht was du genau verwendest.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
mirko2000

Registriert seit: 9. Nov 2003
69 Beiträge
 
#7

Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 12:32
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.
Miniaturansicht angehängter Grafiken
screenshot_162.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 13:01
Hinweis: Ich habe 3 der 4 Beiträge von speedzisch gelöscht, da alle sinnfrei vom Kontext standen. Einer ist zur Dokumentation noch dabei.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#9

Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 13:12
Was du eher verwenden solltest ist.

rst.BOF - Beginn of File
rst.EOF - End of File
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
mirko2000

Registriert seit: 9. Nov 2003
69 Beiträge
 
#10

Re: Aktuelle Cursorposition im RecordSet-Objekt auslesen?

  Alt 1. Apr 2004, 13:16
Zitat von neolithos:
Was du eher verwenden solltest ist.

rst.BOF - Beginn of File
rst.EOF - End of File
Hab ich schon mal ausprobiert, funktioniert aber nicht:

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;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz