Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi RandomFrom(array of string) in BDS 2006 nicht mehr vorhanden (https://www.delphipraxis.net/117313-randomfrom-array-string-bds-2006-nicht-mehr-vorhanden.html)

Chemiker 15. Jul 2008 19:57


RandomFrom(array of string) in BDS 2006 nicht mehr vorhanden
 
Hallo,

ich verwende die Hilfe von Delphi 7 und dort ist eine Funktion:
Delphi-Quellcode:
function RandomFrom(const AValues: array of string): string; overload;
angegeben.
In BDS 2006 ist diese Function nicht mehr vorhanden, oder hat sich die Bezeichnung geändert?

Bis bald Chemiker

Medium 15. Jul 2008 20:03

Re: RandomFrom(array of string) in BDS 2006 nicht mehr vorha
 
Ich kann zwar die Frage mangels BDS 2006 nicht beantworten, aber die Funktion ist doch sehr einfach nachbaubar:
Delphi-Quellcode:
function RandomFrom(const AValues: array of string): string;
begin
  result := AValues[Random(Length(AValues))];
end;
(Ja, Length(AValues) weil Random einen Wert von 0 bis Argument-1 zurück gibt.)

Edith hat unnötige Quotes entfernt, und ein paar Klammern verbessert. Was tät ich ohne Edith!

littleDave 15. Jul 2008 20:07

Re: RandomFrom(array of string) in BDS 2006 nicht mehr vorha
 
Zitat:

Zitat von Delphi 7 Hilfe
Unit
Math oder StrUtils

Hast du mal die Units eingebunden (hab auch kein BDS, daher kann ich nicht groß weiterhelfen)

Chemiker 15. Jul 2008 20:29

Re: RandomFrom(array of string) in BDS 2006 nicht mehr vorha
 
Hallo,

@Medium:
Ich habe mich nur gewundert, weil mir der Compiler immer einen Fehler ausgegeben hat.
Ich habe deshalb vermutet, dass es an meinem Array liegt.
Klar kann man sie nachbauen, aber es ist doch mehrwürdig, dass in einer neueren Delphi-Version eine Function gestrichen wird.

@littelDave:
Beide Units sind eingebunden und im Quellcode ist die Function in BDS 2006 nur mit Integer, Double und Int64 vorhanden.

Bis bald Chemiker

Assertor 15. Jul 2008 20:30

Re: RandomFrom(array of string) in BDS 2006 nicht mehr vorha
 
Zitat:

Zitat von Chemiker
In BDS 2006 ist diese Function nicht mehr vorhanden, oder hat sich die Bezeichnung geändert?

Also ich finde die sofort in BDS 2006:
Delphi-Quellcode:
StrUtils.pas:
{ RandomFrom will randomly return one of the given strings }
function RandomFrom(const AValues: array of string): string; overload;

Math.pas:
{ Various random functions }
function RandomFrom(const AValues: array of Integer): Integer; overload;
function RandomFrom(const AValues: array of Int64): Int64; overload;
function RandomFrom(const AValues: array of Double): Double; overload;
Gruß Assertor

Chemiker 15. Jul 2008 20:52

Re: RandomFrom(array of string) in BDS 2006 nicht mehr vorha
 
Hallo,

ich nehme alles zurück.
Hatte die Unit: StrUtils nicht in der Richtigen Unit eingebunden und unter der BDS 2006 Hilfe wurden nur die 3 Funktionen mit den Zahlen angezeigt.

Mein Fehler, trotzdem Danke für die Hilfe.

Bis bald Chemiker


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