AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Lazarus Funktion als Baustein nutzen

Lazarus Funktion als Baustein nutzen

Ein Thema von stay · begonnen am 5. Mär 2017 · letzter Beitrag vom 11. Mär 2017
Antwort Antwort
stay

Registriert seit: 5. Mär 2017
20 Beiträge
 
#1

AW: Lazarus Funktion als Baustein nutzen

  Alt 6. Mär 2017, 09:57
Guten Morgen, dass wäre auch eine Idee.
Nur nochmal für mich als Sicherheit, ich kann in einem Array keine “Objekte“ speichern?
Also in etwa so.verzeihe mir die Form, aber ich bin grade am Handy.

Array = label1 , label2..'

Button.click

Array1 := “hallo“;

Buttonxy.click
Array2 := “huhu“;
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Lazarus Funktion als Baustein nutzen

  Alt 6. Mär 2017, 10:41
Ein Array kann für alle möglichen Datentypen erstellt werden. Du kannst dir auch deine Objekte in die etwas reingeschrieben werden soll in einer TObjectList speichern.

Delphi-Quellcode:
type
  MyComponentsArray = array of TComponent; // Oder auch array of TObject oder array of TStringGrid


  // Oder als ObjectList
  MyComponentsList = TObjectList<TComponent>; // Oder TObjectList<TStringGrid> oder einfach nur TObjectList --> Dann bist du für das Casten selbst verantwortlich

implementation

procedure ArrayTest;
begin
  SetLength(MyComponentsArray, 2);
  MyComponentsArray[0] := StringGrid1;
  MyComponentsArray[1] := StringGrid2;
end;

procedure ObjectListTest;
begin
  MyComponentsList.Add(StringGrid1);
  MyComponentsList.Add(StringGrid2);
end;
Da du deine Delphi Version nicht genannt hast kann ich nicht sagen, ob es bei dir bereits Generics gibt oder nicht. Es gäbe also viele Möglichkeiten Objekte zu speichern. Hier kommt es auf den Anwendungsfall an und wie sinnvoll dann das Ganze ist.
  Mit Zitat antworten Zitat
stay

Registriert seit: 5. Mär 2017
20 Beiträge
 
#3

AW: Lazarus Funktion als Baustein nutzen

  Alt 6. Mär 2017, 19:10
Gute Frage, ich nutze es auf dem Pi, Raspbian Jessy. Lazarus 1.2.x .
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Lazarus Funktion als Baustein nutzen

  Alt 6. Mär 2017, 20:16
Gute Frage, ich nutze es auf dem Pi, Raspbian Jessy. Lazarus 1.2.x .
Sorry. Auf Lazarus hätte ich auch selbst kommen können.

Hast es ja schließlich auch im richtigen Unterforum gepostet.

Allerdings kenne ich mich mit Lazarus überhaupt nicht aus und kann daher auch nicht sagen ob es diese Typen gibt oder nicht.
  Mit Zitat antworten Zitat
MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
558 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Lazarus Funktion als Baustein nutzen

  Alt 7. Mär 2017, 16:51
Da Aviator hat bestimmt ein sehr guten Zugang aufgezeigt in dem praktisch das Grid als View nimmt und nicht die Logik in das Grid einbaut. An das halte ich mich auch.

Mit Objekten im Array.

Du hast vermutlich ein Free Pascal Compiler 2.6.4 oder einen 2.6.2. Sieht du im help/about oder auf der Kommandozeile fpc.

Ich kann mir nicht vorstellen, dass in den hohen Version vom FPC Generics noch limitiert wären auf Basisdatentypen ... Offiziell ist der Support seit 2.2 da

http://wiki.freepascal.org/Generics

---

Brauchst du aber gar nicht.

Du hast 2 Möglichkeiten in 2 Richtungen.

a) Soll das Array eine fixe Anzahl von Elementen halten oder eine unlimitierte/dynamische Anzahl
b) Was ist die beste Basisklasse die du brauchst oder machst du je Art von Control ein eigenes Array

Im Falle a) und die Länge sei dynamisch, dann arbeite mit SetLength
b= Suche dir ein Basisklasse die genug kann. Wenn du 2 Grids verwaltest bspw. weißt du eh, dass ein Grid hast...

Garbage Collector hast du keinen. Tupel Notation gehen nicht. Ob die Tupel die 2013 andiskutiert wurden jemals ins Fliegen kamen ...

Guten Morgen, dass wäre auch eine Idee.
Nur nochmal für mich als Sicherheit, ich kann in einem Array keine “Objekte“ speichern?
Also in etwa so.verzeihe mir die Form, aber ich bin grade am Handy.

Array = label1 , label2..'

Button.click

Array1 := “hallo“;

Buttonxy.click
Array2 := “huhu“;
  Mit Zitat antworten Zitat
stay

Registriert seit: 5. Mär 2017
20 Beiträge
 
#6

AW: Lazarus Funktion als Baustein nutzen

  Alt 11. Mär 2017, 21:13
Hallo Aviator,
oh sehr schade, trotzdem vielen Dank für deine Hilfe, ich denke ein wenig werde ich davon benutzen können, sobald ich genau weiß, was der beste Weg nach Rom ist

Hallo MichaelT,
2 Möglichkeiten klingt gut, allerdings muss ich mir beide erst ein wenig angucken. Ich hätte gedacht, dass es sowas fertig schon gibt, in der Speicherprogrammierbaren Steuerung ist das ein Standardteil, was immer zum Einsatz kommt. Notfalls kopiere ich meine ganze Logik, ist natürlich nicht so schön und unübersichtlich wird es auch. :/

Vielen Dank
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:04 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