Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Zahlen in einer Edit nur vom Admin. ändern lassen (https://www.delphipraxis.net/166016-zahlen-einer-edit-nur-vom-admin-aendern-lassen.html)

Zieten 26. Jan 2012 08:42

Zahlen in einer Edit nur vom Admin. ändern lassen
 
Hallo an alle,
frage,und zwar lassen sich denn auch Edit Dateien NUR von bestimmten Leuten ändern.Zum Beispiel,ich erstelle grade ein Programm,womit ich festgelegte Preise unänderbar machen soll.
Nur für den Benutzer sollten sie änderbar sein.

Doch das schafft man ja nicht mit ReadOnly.:)
Danke im vorraus.

Mfg

DeddyH 26. Jan 2012 08:52

AW: Zahlen in einer Edit nur vom Admin. ändern lassen
 
Hallo und Willkommen in der DP :dp:,

Du könntest doch prüfen, ob der Benutzer der entsprechenden Gruppe angehört und dementsprechend ReadOnly setzen. So in der Art
Delphi-Quellcode:
edtPreis.ReadOnly := not BenutzerIstAdmin;

Zieten 26. Jan 2012 09:11

AW: Zahlen in einer Edit nur vom Admin. ändern lassen
 
Hi,
danke für die Antwort.
Aber bei mir scheint das nicht so zu funktionieren.

Könntest du das näher diffinieren?
(Sry,bin Anfänger in Delphi und die Hilfe hilft mir grade auch nicht weiter :shock:)

Mfg

Luckie 26. Jan 2012 09:17

AW: Zahlen in einer Edit nur vom Admin. ändern lassen
 
Zitat:

Zitat von Zieten (Beitrag 1147680)
Aber bei mir scheint das nicht so zu funktionieren.

Wenn du uns jetzt noch sagen würdest, WAS nicht funktioniert, könnte man dir auch weiterhelfen.

Zieten 26. Jan 2012 09:36

AW: Zahlen in einer Edit nur vom Admin. ändern lassen
 
Naja,da steht,ich müsse meine edit erstmal bekannt machen,
obwohl sie schon verwendet wurde.Oder muss ich sie extra für
dieses Thema neu deklarieren?
Hier der Code:
---------------------------------------------------------------------
Delphi-Quellcode:
unit MainApplication;

interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DateUtils, ExtCtrls, Buttons, ComCtrls;

type
  TfMainApplication = class(TForm)
    GroupBox1: TGroupBox;
    edGefahreneKilometer: TEdit;
    edTageskostenFahrzeug: TEdit;
    edKilometerkostenFahrzeug: TEdit;
    GroupBox2: TGroupBox;
    edKilometerkosten: TEdit;
    edFahrzeugkosten: TEdit;
    edGesamtkosten: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label5: TLabel;
    rgFahrzeuge: TRadioGroup;
    BitBtn1: TBitBtn;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Label9: TLabel;
    Label13: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure rgFahrzeugeClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure edGefahreneKilometerKeyPress(Sender: TObject; var Key: Char);
    procedure edTageskostenFahrzeugKeyPress(Sender: TObject;
      var Key: Char);
    procedure edKilometerkostenFahrzeugKeyPress(Sender: TObject;
      var Key: Char);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }

  end;

var
  fMainApplication: TfMainApplication;
implementation

{$R *.dfm}

{ TfMainApplication }

procedure TfMainApplication.Button1Click(Sender: TObject);

var iGefahreneKilometer: Real;
dtUebernahme: TDateTime;
dtRueckgabe: TDateTime;
rTageskostenFahrzeug: Real;
rKilometerkostenFahrzeug: Real;

begin



 if not (edFahrzeugKosten.Text = '') and not (edTageskostenFahrzeug.Text = '') then
  //and not (edUebernahmeTag.Text = '') and not (edRueckgabeTag.Text = '') then
 begin
  try
    edFahrzeugkosten.Text := FloatToStr(StrToFloat(edTageskostenFahrzeug.Text) * DaysBetween(DateTimePicker1.DateTime, DateTimePicker2.DateTime));
  except
    On E: Exception do
      ShowMessage('Prüfen Sie die Eingaben auf richtigkeit!');
  end;
 end;
 if not (edFahrzeugKosten.Text = '') and not (edTageskostenFahrzeug.Text = '') then
 //and not (edUebernahmeTag.Text = '') and not (edRueckgabeTag.Text = '') then
 begin
   try
      edKilometerkosten.Text := FloatToStr(StrToFloat(edGefahreneKilometer.text)* StrToFloat(edKilometerkostenFahrzeug.Text));
  except
     On E: Exception do
      ShowMessage('Prüfen Sie die Eingaben auf richtigkeit!');
  end;
 end;
  if not (edFahrzeugKosten.Text = '') and not (edTageskostenFahrzeug.Text = '') then
  //and not (edUebernahmeTag.Text = '') and not (edRueckgabeTag.Text = '') then
  begin
    try
  edGesamtkosten.Text := FloatToStr(StrToFloat(edKilometerkosten.Text)+ StrToFloat(edFahrzeugkosten.Text));
  except
      On E: Exception do
       ShowMessage('Prüfen Sie die Eingaben auf richtigkeit!');
   end;
 end;
end;

procedure TfMainApplication.rgFahrzeugeClick(Sender: TObject);

begin
   if rgFahrzeuge.ItemIndex = 0 then
  begin
  //rGrossesMotorrad.Itemindex:=
    edTageskostenFahrzeug.Text := '80,00';
    edKilometerkostenFahrzeug.Text := '0,25';
  end;
  if rgFahrzeuge.ItemIndex = 1 then
  begin
    //rKleinesMotorrad.Itemindex:=
    edTageskostenFahrzeug.Text := '65,00';
    edKilometerkostenFahrzeug.Text := '0,20';
  end;
  if rgFahrzeuge.ItemIndex = 2 then
  begin
    //rVespa.Itemindex:=
    edTageskostenFahrzeug.Text := '45,00';
    edKilometerkostenFahrzeug.Text := '0,17';
  end;
  if rgFahrzeuge.ItemIndex = 3 then
  begin
    //rMoped.Itemindex:=
    edTageskostenFahrzeug.Text := '35,00';
    edKilometerkostenFahrzeug.Text := '0,12';
  end;
end;

procedure TfMainApplication.FormCreate(Sender: TObject);
begin
   edGefahreneKilometer.Text := '';
 //iGefahreneKilometer:= 46;
 //dtUebernahme:= StrToDate('23.7.2011');
 //dtRueckgabe:= StrToDate('26.7.2011');
 //edTageskostenFahrzeug.Text := '80,00';
 //rTageskostenFahrzeug:= ('80.00');
 //edKilometerkostenFahrzeug.Text := '0,25';
 //rKilometerkostenFahrzeug:= 0.25;
end;

procedure TfMainApplication.edGefahreneKilometerKeyPress(Sender: TObject;
  var Key: Char);
  begin
     if not (Key in [#48..#57, #8, #44]) then
        Key:=#0;
 end;

procedure TfMainApplication.edTageskostenFahrzeugKeyPress(Sender: TObject;
  var Key: Char);
  begin
     if not (Key in [#48..#57, #8, #44]) then
        Key:=#0;
 end;

procedure TfMainApplication.edKilometerkostenFahrzeugKeyPress(
  Sender: TObject; var Key: Char);

  begin
     if not (Key in [#48..#57, #8, #44]) then
        Key:=#0;
  end;
end.^
---------------------------------------------------------------------
Ich,etwas Unordentlich,weiß aber noch nicht wie man hier Codes postet.

Ich möchte diese Verfahren bei edKilometerkostenFahrzeug und bei edTageskostenFahrzeug anwenden.

Mfg

Luckie 26. Jan 2012 09:47

AW: Zahlen in einer Edit nur vom Admin. ändern lassen
 
Wo wurde dir gesagt, dass man was neu bekannt machen, was auch immer das sein soll?

Zieten 26. Jan 2012 10:04

AW: Zahlen in einer Edit nur vom Admin. ändern lassen
 
Ach,alles Klar. :-D
Prolem gefunden und gelöst.

Hatte den Codehinweis von Deddy einfach nur falsch gesetzt.
Naja,jetzt funktioniers ja,danke :thumb:

Mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 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