Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Funktion soll Array zurückgeben / TYPEDEF (https://www.delphipraxis.net/50160-funktion-soll-array-zurueckgeben-typedef.html)

Nightfly 21. Jul 2005 11:08


Funktion soll Array zurückgeben / TYPEDEF
 
Hi

also, ich beschreibe was ich tun will:

Im Moment habe ich eine Funktion, welche 9 Felder in einem Datensatz prüft, und wenn ein Inhalt vorhanden ist, diese Inhalte zu einem String verknüpft, und diesen zurückgibt.
So siehts aus:
Delphi-Quellcode:
function TForm1.FindeBehandlungen():String;     array
var i : Integer;
begin
  Result := '';
  for i := 150 to 182 do
  begin
    if ((i + 2) MOD 4) = 0 then // Modulo4: in jedem 4 Datensatz steht ein Artikelname
      begin
       if length(PDBBehandlung.Fields[i].AsString) > 0 then //wenn auch ein Artikel eingetragen ist
       Result := Result + PDBBehandlung.Fields[i].AsString +',';
      end;
  end;
Result := copy(Result,0,length(Result)-1); //letztes ',' abschneiden
end;
Diesen String will ich nun drucken, es kann aber sein das er zu lang is, nämlich genau dann wenn er mehr als 4 Teilstrings enthält (wie gesagt, 9 können es werden).

Meine Lösung: Die Funktion gibt nicht einen Strink zurück, sondern ein array [0...8]of String, und wenn dann in pos 4 noch was steht, weiß ich das ich nen Zeilenumbruch basteln muß.

Nur wie mach ich das?

barf00s 21. Jul 2005 11:12

Re: Funktion soll Array zurückgeben / TYPEDEF
 
dann pax dir doch inne TStringlist -.-°

yankee 21. Jul 2005 11:43

Re: Funktion soll Array zurückgeben / TYPEDEF
 
ich bin mir nicht sicher, ob ich dich richtig verstanden habe, aber ich versuche es mal:
Du willst, dass deine Funktion einen array[0..8] of string zurück gibt.
Delphi-Quellcode:
function meinefunkion:array[0..8] of string
geht aber nicht. Also wenn das dein Problem ist, ist die Lösung einfach ;-):
gib einfach gaaanz oben im qt um punkt type dies ein:
Delphi-Quellcode:
  type
    Tachtstring =array[0..8] of string;
Dann schreibst du den Funktionsrückgabewert so:
Delphi-Quellcode:
function meinefunkion:Tachtstring
Naja, das ist wie gesagt die Lösung, wenn ich dein Problem richtig verstanden habe...

Nightfly 21. Jul 2005 12:31

Re: Funktion soll Array zurückgeben / TYPEDEF
 
genau das wars...der ausflug in de C Welt war wohl bissl lang, type statt typedef ...danke nochmal


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 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