AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi String als Object in StringGrid-Zelle speichern
Thema durchsuchen
Ansicht
Themen-Optionen

String als Object in StringGrid-Zelle speichern

Ein Thema von Helmi · begonnen am 27. Jun 2009 · letzter Beitrag vom 27. Jun 2009
Antwort Antwort
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

String als Object in StringGrid-Zelle speichern

  Alt 27. Jun 2009, 23:08
Hallo,

wie kann man einen String in einer StringGrid-Zelle als Object speichern?

Ich habs so probiert:

StringGrid.Objects[0, 0] := Pointer('ID_TEXT_VersionInfo_Applikation'); und

StringGrid.Objects[0, 0] := String('ID_TEXT_VersionInfo_Applikation'); Aber beides funktioniert nicht.
Wie könnts gehen?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#2

Re: String als Object in StringGrid-Zelle speichern

  Alt 27. Jun 2009, 23:26
Hallo,

so: Creating a TString object
oder mit PChar geht es auch: Link
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

Re: String als Object in StringGrid-Zelle speichern

  Alt 27. Jun 2009, 23:33
Danke für den Tip mit PChar.

Ich habs nun so gelöst:

Schreiben:

StringGrid.Objects[0, 0] := Pointer(PChar('ID_TEXT_VersionInfo_Applikation')); Auslesen:

S := String(PChar(StringGrid.Objects[0, 0]));
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

Re: String als Object in StringGrid-Zelle speichern

  Alt 27. Jun 2009, 23:54
Delphi-Quellcode:
type
  TTest = class // Eine einfache Klasse
    Str: String;
  end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Test: TTest;
begin
  Test := TTest.Create; // Objekt erstellen.
  Test.Str := 'Hallo Welt!';

  StringGrid1.Objects[1, 1] := Test; // Die Adresse auf das Objekt übergeben
    // Test nicht freigeben, da Objekt ja bestehen bleiben soll

  StringGrid1.Cells[1, 1] := 'Hier ist was drin.';

    // Ein weiterer Wert für eine andere Zelle
  Test := TTest.Create;
  Test.Str := 'E = m * c²';

  StringGrid1.Objects[2, 2] := Test;

  StringGrid1.Cells[2, 2] := 'Hier auch.';
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Test: TTest;
begin
  Test := TTest(StringGrid1.Objects[1, 1]); // Übergeben
    // Test kann jetzt wieder normal genutzt werden.

  ShowMessage(Test.Str);


  Test := TTest(StringGrid1.Objects[2, 2]);

  ShowMessage(Test.Str);
end;
Nur beachte, daß du, wenn du das Objekt nicht mehr brauchst, es freigibst. Nicht einfach neu zuordnen.

Delphi-Quellcode:
var
  Test: TTest;
begin
  Test := TTest(StringGrid1.Objects[1, 1]);
  Test.Free;
  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 05:13 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