AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Lazarus DBGrid Eintrag

Offene Frage von "xDdaviiDxD"
Ein Thema von xDdaviiDxD · begonnen am 7. Nov 2022 · letzter Beitrag vom 30. Nov 2022
Antwort Antwort
xDdaviiDxD

Registriert seit: 1. Nov 2022
Ort: Sachsen-Anhalt
16 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Lazarus DBGrid Eintrag

  Alt 11. Nov 2022, 09:33
Vielen Danke Klaus
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#2

AW: Lazarus DBGrid Eintrag

  Alt 11. Nov 2022, 09:52
Alternative:
Delphi-Quellcode:
procedure TForm1.EditPasswortChange(Sender: TObject);
begin
  EditPasswort.PasswordChar := #0;
  EditPasswort.PasswordChar := '*';
  BtnMinimieren.Visible := (EditPasswort.Text = 'test123');
  BtnSchliessen.Visible := (EditPasswort.Text = 'test123');
  BtnNewDb.Visible := (EditPasswort.Text = 'test123');
end;
oder
Delphi-Quellcode:
procedure TForm1.EditPasswortChange(Sender: TObject);
begin
  EditPasswort.PasswordChar := #0;
  EditPasswort.PasswordChar := '*';
  // Es reicht, diesen Vergleich einmal zu machen.
  BtnMinimieren.Visible := (EditPasswort.Text = 'test123');
  BtnSchliessen.Visible := BtnMinimieren.Visible;
  BtnNewDb.Visible := BtnMinimieren.Visible;
end;
oder
Delphi-Quellcode:
function PruefePasswort(AEingabe, APasswort : String) : Boolean;
begin
  // Hier könnte man später auch eine beliebige Prüflogik implementieren.
  Result := AEingabe = APasswort;
end;

procedure TForm1.EditPasswortChange(Sender: TObject);
begin
  EditPasswort.PasswordChar := #0;
  EditPasswort.PasswordChar := '*';
  BtnMinimieren.Visible := PruefePasswort(EditPasswort.Text,'test123');
  BtnSchliessen.Visible := BtnMinimieren.Visible;
  BtnNewDb.Visible := BtnMinimieren.Visible;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#3

AW: Lazarus DBGrid Eintrag

  Alt 11. Nov 2022, 10:03
Keine Ahnung, ob das unter Lazarus funktioniert, aber so oder ähnlich würde ich es wohl machen:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    edtPassword: TEdit;
    btnBla: TButton;
    btnBlubb: TButton;
    btnWuppdi: TButton;
    procedure FormCreate(Sender: TObject);
    procedure edtPasswordChange(Sender: TObject);
    ...
  private
    { Private-Deklarationen }
    FButtons: array of TButton;
    function PasswordValid(const APassword: string): Boolean;
    ...
  end;
  
 ...
 
procedure TForm1.edtPasswordChange(Sender: TObject);
var
  i: integer;
begin
  for i := Low(FButtons) to High(FButtons) do
    FButtons[i].Visible := PasswordValid(edtPassword.Text);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FButtons := [btnBla, btnBlubb, btnWuppdi];
end;

function TForm1.PasswordValid(const APassword: string): Boolean;
begin
  Result := APassword = 'test123';
end;
P.S.: das PasswordChar kann man direkt im Objektinspektor setzen und muss das nicht immer wieder tun.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#4

AW: Lazarus DBGrid Eintrag

  Alt 11. Nov 2022, 10:18
Um die Passwortprüfung nur einmal machen zu müssen:
Delphi-Quellcode:
procedure TForm1.edtPasswordChange(Sender: TObject);
var
  i : integer;
  bOk : Boolean;
begin
  bOk := PasswordValid(edtPassword.Text);
  for i := Low(FButtons) to High(FButtons) do
    FButtons[i].Visible := bOk;
end;
Je nachdem wie die Prüfung des Passwortes erfolgt (z. B. Abgleich mit Daten in einer Datenbank), kann es schon sinnvoll sein, die Prüfung des Passwortes nur einmalig vorzunehmen.
  Mit Zitat antworten Zitat
xDdaviiDxD

Registriert seit: 1. Nov 2022
Ort: Sachsen-Anhalt
16 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Lazarus DBGrid Eintrag

  Alt 11. Nov 2022, 11:05
Vielen Dank euch allen,

ich werde es alles mal Durchtesten und schauen was am besten für das Projekt Passt.
  Mit Zitat antworten Zitat
xDdaviiDxD

Registriert seit: 1. Nov 2022
Ort: Sachsen-Anhalt
16 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Lazarus DBGrid Eintrag

  Alt 28. Nov 2022, 11:00
Guten Tag,

Ich Hoffe das ist Okay das ich hier drin einfach meine Nächste Frage stelle.

und zwar würde ich gern das DBGrid einmal als CSV Exportieren und später Importieren.

Mit Hilfe des Internets hab ich den Export als CSV schon "Fertig".

Code:
//==============================================================================
procedure TForm1.btnCsvExportClick(Sender: TObject);
//==============================================================================
var
 sInhalt:string;
 fDatei:textfile;
begin
 assignfile(fDatei,'C:\Lazarus_Projekte\DB_Gaszähler\DBDaten.csv');
 rewrite(fDatei);
 TableDaten.First;
while not TableDaten.EOF do
 begin
  sInhalt:='"' + TableDaten.FieldByName('idDaten').AsString +'",';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Datum').AsString +'"';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Zeit').AsString +'",';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Name').AsString +'"';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Stand').AsString +'"';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Neu').AsString +'"';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Verbrauch').AsString +'"';

  WriteLn(fDatei, sInhalt);
  TableDaten.next;
 end;
   closefile(fDatei);
end;
Mein Problem ist das ich den Import einfach nicht Hinbekomme. :s

Es sollte am besten per Button in mein DBGrid.
Würde mich sehr über weitere Hilfe Freuen.

MfG
David
  Mit Zitat antworten Zitat
itblumi

Registriert seit: 28. Mär 2009
73 Beiträge
 
Delphi XE6 Professional
 
#7

AW: Lazarus DBGrid Eintrag

  Alt 28. Nov 2022, 12:06
Falls du nur CSV Daten in deinem Grid nur anzeigen möchtest, dann kannst du in Lazarus das TCSVDataset dazu verwenden.
Falls du aber die Daten auch in deine DB importieren möchtest, dann müsstest du erst die Daten in die Datenbank importieren und dann über die DB die Daten in deinem Grid anzeigen.

Mir ist leider noch nicht ganz klar was du mit den Daten machen möchtest, deswegen kann ich dir wahrscheinlich nur teilweise helfen.
Jan
Ein neuer Tag bringt so einiges mit sich. Was auch immer es ist, es bleibt ein kleines Abenteuer.

Geändert von itblumi (28. Nov 2022 um 12:08 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 03:42 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-2025 by Thomas Breitkreuz