| |
|
|
- Seite 1 - |
|
Hubert Binnewies | Hallo zusammen..
Kleines Problem.. Ich würde mir gerne ein paar Funktionen schreiben die mir das Programmieren an meinem derzeitigen Projekt vereinfachen. Das Blöde ist nur das ich in den meisten Funktionen mehrere Rückgabewerte habe.
Ich hab die Hilfe in Xprofan durch und immer nur gesehen das man mit RETURN nur einen Wert zurück geben kann.
Oder hab ich da was übersehen?
Wie kann ich mehrere Werte zurückgeben?
Danke schonmal im voraus.
Hubert |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 15.09.2006 ▲ |
|
|
|
|
| |
|
- Seite 1 - |
|
| Hab hier noch ein Beispiel, ohne jegliche globale Variable. Simuliertes byRef KompilierenMarkierenSeparieren Proc Test2 über gibt den Pointer von c& und d& an Proc Test1, welche dort 50 und 100 als Rückgabe einträgt. Wie man siehst, keine globalen Variablen und der Bereich wird auch gleich disposed
Hoffe mal, das kann jemand gebrauchen
// Nachtrag: hab den Code noch etwas erweitert, damit man sieht, das es wirklich geht
Hier nochmal ohne Hilfsstructur, hab ich garnicht dran gedacht, das es in Profan auch so geht: KompilierenMarkierenSeparieren Ist vielleicht verständlicher |
|
|
| |
|
|
|
| |
|
| |
|
|
|
| Ähem - Du änderst doch nix weiter als den Wert von globalen Variablen - und das auch noch umständlich. |
|
|
| |
|
|
|
| [quote:a6584bda33=iF]Ähem - Du änderst doch nix weiter als den Wert von globalen Variablen - und das auch noch umständlich. [/quote:a6584bda33] Die Variablen in beiden Proc sind lokal, Proc Test1 ändert die Variablen von Test2, Gleichnamige Globale Variablen bleiben auch erhalten. Funktioniert so allerdings nicht mit Strings. Globale Variablen werden nicht geändert
Ich übergebe den Pointer und mache einen profanischen Poke |
|
|
| |
|
|
|
| Ne quatsch - Du deklarierst zwei Globale - die änderst Du in der Proc - mehr nicht. Dein Code geht nicht ohne Globals die Du nutzt.
Oder stehe ich aufm Schlauch? |
|
|
| |
|
|
|
| [quote:869f8d550b=iF]Ne quatsch - Du deklarierst zwei Globale - die änderst Du in der Proc - mehr nicht. Dein Code geht nicht ohne Globals die Du nutzt.
Oder stehe ich aufm Schlauch? [/quote:869f8d550b] Bei mir gehts:: KompilierenMarkierenSeparieren Hab die globalen Variablen ja nur zum Beweis dazugepackt, das diese nicht geändert werden, jetzt denkst gleich wieder verkehrt herum |
|
|
| |
|
|
|
| Ach jetzt! Klar! Hab das Declare in der zweiten Proc übersehen!
Thomas will sagen, einfache die Adressen der Variablen an eine Proc übergeben, und die Variableninhalte per Long ändern. |
|
|
| |
|
|
|
Hubert Binnewies | ööööööhmmmmmm.....
und wenn ich keine numerischen Werte sondern Strings habe??
(nicht schlecht die Lösung, kann ich gebrauchen)
Gruß Hubert |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 15.09.2006 ▲ |
|
|
|
|
Rolf Koch | Nur zur Erweiterung: Seit Ewigkeiten schlummert unter eigene Codes folgenders auf meiner Seite Mehr als einen Parameter aus einer Prozedur zurückliefern - Neu (19.03.2003)
Man sollte auch mal auf meiner Seite kucken *lol* |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
Frank Abbing | [quote:caee46f7de]und wenn ich keine numerischen Werte sondern Strings habe??[/quote:caee46f7de] Setzt du Zeiger auf Strings. Die Listview.dll benutzt schon seit langer Zeit für einige Funktionen die Technik, die Thomas gepost hat. Addressen von Variablen als Parameter. Allerhand APIs machen es genauso, z.B. OpenGL-APIs. |
|
|
| |
|
|
|
| Ich denke mal für longs ist das mit den Pointern schon Ideal, für strings ist das nachträglich auseinandernehmen, so wie auf Rolf seiner Seite, bzw. von Roland angesprochen der einfachste Weg.
Ich persönlich mag nämlich nicht allzu gerne zuviele globale Variablen, vor allem in grösseren Projekten ist das manchmal verhängnisvoll
Aber im Endeffekt, zählt der Erfolg |
|
|
| |
|
|
|
Frank Abbing | Richtig. Ich denke auch, für Texte sind Bereiche/Strukturen am besten geeignet. |
|
|
| |
|
|