Avatar billede elohim Nybegynder
02. februar 2002 - 14:25 Der er 13 kommentarer og
1 løsning

Editbox til Label

Hej alle
Jeg har en edit.text med en tekst og den er sat til (:=) at vises i label.caption, så langt så godt. Det virker når jeg trykker på en knap jeg har lavet til det formål, at overføre teksten til lablen.
Problemet opstår når jeg starter programmet igen, så er lablen tilbage til standard, dvs. det den var før jeg trykkede på knappen. Jeg troede at den forandrede lablen permanent.
Så er spørgsmålet, skal jeg lave en record eller en tabel og hvordan gør jeg det og hvad skal den hedde til extention. Og hvordan loader jeg det når jeg starter programmet.
Avatar billede martinlind Nybegynder
02. februar 2002 - 14:30 #1
Du kan evt. bruge en INI fil til at gemme det valgte i og loade det ind igen ved program start, hvis noget skal være permanet uden du gør noget skal du sætte det i objectinspec. når du designer det
Avatar billede elohim Nybegynder
02. februar 2002 - 15:24 #2
Tak det prøver jeg lige, kan du evt. give mig en kode til oprette, åbne og lukke sådan en fil.
og evt. hvordan jeg gemmer en edit.text i den fil
Avatar billede stoney Nybegynder
02. februar 2002 - 15:26 #3
tilføj inifiles i uses

// her gemmer du

procedure TForm1.Button1Click(Sender: TObject);
var
  IniFile : TIniFile;

begin
  IniFile := TIniFile.create(ExtractFilePath(ParamStr(0))+'settings.ini');

  IniFile.WriteString('Settings','edit1',edit1.Text);


  inifile.free
end;

// her læser du

procedure TForm1.Button2Click(Sender: TObject);
var
  IniFile : TIniFile;

begin
IniFile := TIniFile.create(ExtractFilePath(ParamStr(0))+'settings.ini');
edit1.Text := IniFile.readString('Settings','edit1','');

inifile.free;

end;

Stoney
Avatar billede elohim Nybegynder
02. februar 2002 - 15:59 #4
Stoney
Ved du også hvordan man bytter et billede ud med et andet via opendialog
Jeg har følgende men får fejl, jeg har et image som hedder firmalogo
der kommer en fejl om samme navn ?? jeg forstår det ikke

koden

procedure TMainBudget.LogoClick(Sender: TObject);
var
  Image : TImage;
begin
  If OpenPictureLogo.Execute then
      Image := FirmaLogo.Create(Self);
      Image.Picture.LoadFromFile(OpenPictureLogo.Filename);
end;
Avatar billede stoney Nybegynder
02. februar 2002 - 16:10 #5
Kan du ikke bare droppe en timage på formen i stedet for at create
den dynamisk.

Stoney
Avatar billede elohim Nybegynder
02. februar 2002 - 16:22 #6
Jeg er lidt ny i det her, men jeg har et i en TImage som jeg gerne vil at brugeren kan skifte ud ved at vælge et billede fra OpenDialog
Avatar billede elohim Nybegynder
02. februar 2002 - 16:25 #7
Ang. Inifilen så brokker den sig når jeg tager flere Edit.text med

Koden er her
procedure TNytFirmanavn.GemENytFirmaClick(Sender: TObject);
var
  IniFile : TIniFile;
begin
  MainBudget.LFirmaNavn.Caption := ENyFirmaNavn.Text;
  MainBudget.LFirmaAdr.Caption := ENyFirmaAdr.Text;
  MainBudget.LFirmaPostNr.Caption := ENyFirmaPostNr.Text;
  MainBudget.LFirmaBy.Caption := ENyFirmaBy.Text;
  MainBudget.LFirmaSeNr.Caption := ENyFirmaSeNr.Text;
  MainBudget.LFirmaTel.Caption := ENyFirmaTel.Text;
  MainBudget.LFirmaFax.Caption := ENyFirmaFax.Text;
  MainBudget.LFirmaEmail.Caption := ENyFirmaEmail.Text;
  MainBudget.LFirmaEjer.Caption := ENyFirmaEjer.Text;
  MainBudget.FirmanavnVLogo.Caption := ENyFirmaNavn.Text;

  begin
  IniFile := TIniFile.create(ExtractFilePath(ParamStr(0))+'settings.ini');
  IniFile.WriteString('Settings','FirmaNavn',ENyFirmaNavn.Text
  'FirmaAdr',ENyFirmaAdr.Text);
{ +
  ENyFirmaPostNr.Text+
  ENyFirmaBy.Text+
  ENyFirmaSeNr.Text+
  ENyFirmaTel.Text+
  ENyFirmaFax.Text+
  ENyFirmaEmail.Text+
  ENyFirmaEjer.Text+
  ENyFirmaNavn.Text
  );
}
  inifile.free
end;

Fejl to many parameters
Avatar billede stoney Nybegynder
02. februar 2002 - 16:26 #8
procedure TMainBudget.LogoClick(Sender: TObject);

begin
  If OpenPictureLogo.Execute then
     
      Image.Picture.LoadFromFile(OpenPictureLogo.Filename);
end;

Stoney
Avatar billede stoney Nybegynder
02. februar 2002 - 16:29 #9
IniFile.WriteString('Settings','edit1',edit1.Text);
IniFile.WriteString('Settings','edit2',edit2.Text);

Du skal lave en linie for hver ting du vil gemme

Stoney
Avatar billede elohim Nybegynder
02. februar 2002 - 16:34 #10
OK tak jeg troede bare den over skrevet linien for hvergang.

Har du en kommentar til det med billedet
Det jeg vil er at bytte et billede ud i en TImage via en OpenDialog så næste gang man åbner programmet så er det det logo man valgte sidste gang.
Avatar billede stoney Nybegynder
02. februar 2002 - 16:42 #11
// her åbner og gemmer du
procedure TForm1.Button1Click(Sender: TObject);
var
  IniFile : TIniFile;

begin
  IniFile := TIniFile.create(ExtractFilePath(ParamStr(0))+'settings.ini');

  IniFile.WriteString('Settings','logo',openpicturelogo.FileName);


  inifile.free
end;

// her henter du billedet igen


procedure TForm1.Button2Click(Sender: TObject);
var
  IniFile : TIniFile;
  logo : string;

begin
IniFile := TIniFile.create(ExtractFilePath(ParamStr(0))+'settings.ini');
logo := IniFile.readString('Settings','logo','');


image1.Picture.LoadFromFile(logo);

inifile.free;

end;

Stoney
Avatar billede elohim Nybegynder
02. februar 2002 - 17:28 #12
OK flot du er jo dygtig, men jeg får ikke billedet vist, kan det være fordi jeg har mit Timage på TTabsheet ??

PS hvad står "paramStr(0))+'setting.ini')" for
Avatar billede stoney Nybegynder
02. februar 2002 - 17:36 #13
"paramStr(0))+'setting.ini')"  laver en ini fil der hedder settin.ini i samme bibliotek som dit program/exe fil.

Det med billedet skal virke. Prøv at checke din kode/variabel navne

Stoney
Avatar billede elohim Nybegynder
02. februar 2002 - 18:18 #14
OK Tak for hjælpen og god Weekend
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester