AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Record zu TStringlist hinzufügen
Thema durchsuchen
Ansicht
Themen-Optionen

Record zu TStringlist hinzufügen

Ein Thema von EWeiss · begonnen am 12. Jun 2017 · letzter Beitrag vom 14. Jun 2017
Antwort Antwort
Seite 4 von 10   « Erste     234 56     Letzte »    
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#31

AW: Redord zu TStringlist hinzufügen

  Alt 13. Jun 2017, 08:11
Zitat:
Was willst Du denn immer mit dem Array?
Das ist die frage
Ich will es nicht.
Schlaf mal drüber und dann danach mit frischen Kräften ans Werk.

Vielleicht nochmal kurz die Grundlagen nachlesen: https://downloads.delphi-treff.de/DelphiStarter.pdf ab Seite 132.

Alle wesentlichen und richtigen Lösungen wurden dir hier schon genannt.
Du musst dich nur von alten Denkmustern lösen und einfach übernehmen was DeddyH und jaenicke in den letzten paar Beiträgen gezeigt haben.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#32

AW: Record zu TStringlist hinzufügen

  Alt 13. Jun 2017, 08:16
Zitat:
Du musst dich nur von alten Denkmustern lösen und einfach übernehmen was DeddyH und jaenicke in den letzten paar Beiträgen gezeigt haben.
Ja, ja..
Wenn man nicht davor sitzt ist alles einfach.

ganz kleines Beispiel. (Das ist noch eins der einfachsten Dinge)
Dann setz mir das mal um auf der Basis wie hier angegeben.
Ohne Array wohlbemerkt.
Delphi-Quellcode:
  if Assigned(Sprite) then
  begin
    if High(Sprite) > ID_MAIN then
    begin
      for K := ID_FIRST to High(Sprite) do
      begin
        if Sprite[K].h_Bitmap <> 0 then
        begin
          DeleteObject(Sprite[K].h_Bitmap);
          Sprite[K].h_Bitmap := 0;
          ZeroMemory(@Sprite[K], SizeOf(TSprite));
        end;
      end;
    end;
  end;
Wenn man keinen Index mehr hat um die Sprites zu identifizieren ist das nicht mal gerade so dahin geworfen.

gruss

Geändert von EWeiss (13. Jun 2017 um 08:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#33

AW: Record zu TStringlist hinzufügen

  Alt 13. Jun 2017, 08:32
Delphi-Quellcode:
  if Assigned(Sprite) then
  begin
    if Sprite.Count - 1 > ID_MAIN then
    begin
      for K := ID_FIRST to Sprite.Count - 1 do
      begin
        if Sprite[K].h_Bitmap <> 0 then
        begin
          DeleteObject(Sprite[K].h_Bitmap);
          Sprite[K].h_Bitmap := 0;
          ZeroMemory(@Sprite[K], SizeOf(TSprite));
        end;
      end;
    end;
  end;
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#34

AW: Record zu TStringlist hinzufügen

  Alt 13. Jun 2017, 08:39
Sprite hat kein Count.
Das habe ich alles schon durch.

Dann noch ein anderes nichts machen nur schauen.

Wie gesagt das ist nicht mal so eben gemacht.
Ich glaube lasse es lieber sein.

gruss

Geändert von EWeiss (13. Jun 2017 um 09:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#35

AW: Record zu TStringlist hinzufügen

  Alt 13. Jun 2017, 08:45
Delphi-Quellcode:
type
  TSprite = class
    CtrlName: WideString;
    CtrlIndex: Integer;
    ...
  end;

var
  Sprite: TObjectList<TSprite>;
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#36

AW: Record zu TStringlist hinzufügen

  Alt 13. Jun 2017, 08:48
Delphi-Quellcode:
type
  TSprite = class
    CtrlName: WideString;
    CtrlIndex: Integer;
    ...
  end;

var
  Sprite: TObjectList<TSprite>;
Danke habe es vorhin versucht aber das lässt sich so einfach nicht vereinbaren mit den ganzen Kram.
Siehe Beitrag über den deinen.

gruss

Geändert von EWeiss (13. Jun 2017 um 09:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Record zu TStringlist hinzufügen

  Alt 13. Jun 2017, 08:56
Wieso nicht? Ich sehe da auf Anhieb nichts in Deinem Code, das unbedingt Records und Arrays brauchen würde.
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
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#38

AW: Record zu TStringlist hinzufügen

  Alt 13. Jun 2017, 09:02
Danke habe es vorhin versucht aber das lässt sich so einfach nicht vereinbaren mit den ganzen Kram.
Ich sehe da nur, dass da ein High(Sprite) ersetzt werden muss durch Sprite.Count - 1 wie im Beispiel und es muss noch das einzelne Sprite (Für die Liste wäre nebenbei Sprites im Plural sinnvoller, dann müsste ich das nicht betonen) erzeugt werden:
Delphi-Quellcode:
// statt Setlength(Sprite, Count + 1);
                Sprite.Add(TSprite.Create);

                Sprite[Count].Top := Bottom;
...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#39

AW: Record zu TStringlist hinzufügen

  Alt 13. Jun 2017, 09:04
Wieso nicht? Ich sehe da auf Anhieb nichts in Deinem Code, das unbedingt Records und Arrays brauchen würde.
Du siehst aber schon wie viele Indexe ich benötige um die Sprites zu zuweisen?
Found, Count, FlagFound, Prop.RecycleBin ?

Sprite[Count].Top := Bottom;
Das ist ein Array oder?
Und das wollte ich nicht! (Dann kann ich es auch so belassen wie es ist)
Somit hat sich das erledigt.

Danke für eure Teilnahme!

gruss

Geändert von EWeiss (13. Jun 2017 um 09:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Record zu TStringlist hinzufügen

  Alt 13. Jun 2017, 09:17
Nochmal ganz langsam: wie spricht man ein Array-Element an?
Array[Index] Und ein Listenelement?
List[Index] Mal abgesehen von Low() und High() müsste am Zugriff auf die Elemente doch nichts ändern. Sry, ich verstehe Deine Einwände nicht.
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
Antwort Antwort
Seite 4 von 10   « Erste     234 56     Letzte »    


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 08:33 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