Forum: Programmieren allgemein
by Der schöne Günther,
4. Jan 2019
Wow, nett. WriteStartObject() und Konsorten kannte ich noch nicht. Das ist natürlich besser 👍
Mir würde nur das fehlende try..finally zwischen WriteStartObject() und WriteEndObject() (analog das Array) stören. Und den inneren Teil mit der Schleife in eine eigene Methode rausziehen, das ist ja schon etwas lang.
Die WriteStartXX-Dinge sind mir echt neu. Wieder was gelernt 😊
Forum: Programmieren allgemein
by Der schöne Günther,
3. Jan 2019
Vielleicht meine er "nur eine Referenz auf das Array". Oder etwas ganz ausgefuchstes. Bald werden wir es erfahren 😎
Forum: Programmieren allgemein
by Der schöne Günther,
3. Jan 2019
Ich verstehe nicht ganz was du erwartet hättest. Dein Button2Click geht hin und macht einmal ein Array "wowarer" und steckt dort ein Objekt rein.
Du willst jetzt mehrere Objekte in diesem Array? Merke dir das Array und rufe auf ihm so oft du willst AddValue(..) auf. Das habe ich einen Beitrag darüber gezeigt.
Forum: Programmieren allgemein
by Der schöne Günther,
3. Jan 2019
Ja, man müsste sich das begonnene Array merken:
procedure buildObject(const builder: TJSONObjectBuilder);
const
values: TArray<Single> = ;
var
jsonObject: TJSONObjectBuilderPairs;
jsonArray: TJSONArrayBuilderElements;
value: Single;
begin
Forum: Programmieren allgemein
by Der schöne Günther,
3. Jan 2019
Klar geht das, aber was ist daran jetzt besser oder einfacher?
Forum: Programmieren allgemein
by Der schöne Günther,
3. Jan 2019
Klar, gehen müsste das auch: Es zwingt dich ja niemand in einem einzigen Statement, ohne abzusetzen, das Array auch wieder direkt abzuschließen.
Du könntest doch:
Builder.BeginObject()
.BeginArray()
Jetzt durch dein TDataSet und jedesmal machen Builder.BeginObject(..) bla bla .EndObject()
Wenn du damit fertig bist: Builder.EndArray().EndObject()
Forum: Programmieren allgemein
by Der schöne Günther,
3. Jan 2019
Kurz ausgedrückt: Du rutscht über ein TDataSet drüber und willst für jede Zeile ein neues Json-Objekt in ein Json-Array stecken. Richtig?
Ich würde erst einmal dein System.Json.TJsonArray erstellen. Dann "pro Zeile" ein TJsonObject erstellen (über deinen TJSONObjectBuilder oder wie auch immer) und das mittels myJsonArray.AddElement(meinFrischErstelltesObjekt) hinzufügen.