AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls TValueListEditor automatisch füllen Funktion deaktivieren
Thema durchsuchen
Ansicht
Themen-Optionen

TValueListEditor automatisch füllen Funktion deaktivieren

Ein Thema von Gashunkification · begonnen am 1. Okt 2012 · letzter Beitrag vom 2. Okt 2012
 
Gashunkification

Registriert seit: 18. Mär 2012
9 Beiträge
 
#1

TValueListEditor automatisch füllen Funktion deaktivieren

  Alt 1. Okt 2012, 22:34
*murmel* das ist so ziemlich der blödeste Titel für ein Thema der mir je eingefallen ist */murmel*

Hallo liebe Community...
Ich hab ein ernsthaft (nerviges) Problem mit dem ValueListEditor aus der VCL (Reiter -> Zusätzlich).

Folgendes:

Ich schreibe momentan ein Programm um eine spezifische Ini-Datei zu bearbeiten.
Da in dieser unteranderem auch Mengenwerte vorkommen, sprich Value=(v1,v2,v3,...,vn), habe ich das über die GUI so gelöst, dass ich
einfach nur alle später zu speichernden Daten in einem array of record abspeichere um sie dann in den ValueListEditor zu schreiben.
An sich klappt das auch allerdings...!:

Der VLE hat die dumme Eigenschaft, dass er aus mir unerfindlichen Gründen den Wert aus der LETZTEN Zelle (in meinem Fall der String "true" bzw. "false") in alle vorherigen Zellen schreibt, ausgenommen der ersten!

Anbei ein Bild um das zu verdeutlichen.


Hier noch die Prozedur, die (eiegentlich) die Werte schreiben soll ....


Delphi-Quellcode:
procedure TfrmMainForm.btnNewMutClick(Sender: TObject);
var s: String;
    y: Integer;
begin

  // Wave = der oben beschriebene Record. Geschrieben werden soll immer der Wert
  // aus dem aktuell letzten Wave-Element, daher Wave[High(Wave)]...

  if Sender = btnNewMut then valListMutatoCfg.InsertRow(#32,#32, true)
  else
    begin
      valListWave.InsertRow(#32,#32,true);
      y := valListWave.RowCount-1;

      for s in Wave[High(Wave)].MonsterNum do
        valListWave.Cells[0, y] := valListWave.Cells[0, y] + s + ',';

      for s in Wave[High(Wave)].BossMobs do
        valListWave.Cells[1, y] := valListWave.Cells[1, y] + s + ',';

      valListWave.Cells[2, y] := IntToStr(Wave[High(Wave)].WaveLength);
      valListWave.Cells[3, y] := IntToStr(Wave[High(Wave)].WaveCountDown);
      valListWave.Cells[4, y] := IntToStr(Wave[High(Wave)].MonstersPerPlayer);
      valListWave.Cells[5, y] := IntToStr(Wave[High(Wave)].MaxMonsters);
      valListWave.Cells[6, y] := Wave[High(Wave)].AllowPortals;


    end;
end;
Kann man denn nicht irgendwo im Objektinspektor oder meinetwegen auch im Quellcode eine Eigenschaft setzen, die dem VLE das automatische Ersetzen verbietet?
Mit
ItemProps[VLE.Cells[x,y]].ReadOnly := True; habe ich es auch schon erfolglos versucht ....

... hoffentlich könnt ihr mir weiterhelfen ...

MfG

Gashunkification
Angehängte Grafiken
Dateityp: png Erläuterung_1.png (83,9 KB, 43x aufgerufen)
  Mit Zitat antworten Zitat
 


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:49 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