Ergebnis 1 bis 10 von 10

Thema: Ziffer aus Variablenname extrahieren?

  1. #1
    HTML Newbie
    Registriert seit
    22.01.2008
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Ziffer aus Variablenname extrahieren?

    Hallo,

    ich versuche seit einiger Zeit, eine Zahl aus einem Variablennamen zu extrahieren. Es funktioniert ohne Weiteres, wenn ich eine bestimmte Variable innerhalb des Hauptprogramms behandele:

    Array erstellen (Könnte auch jede andere Art Variable sein):

    Mat_IO_DP array_temp_20; (Ich benutze numerical recipes)
    --> Aus dem Variablennamen "array_temp_20" versuche ich z.B., die "20" zu extrahieren.

    #define STRING(s) #s
    ........................................

    string matrix_string = STRING(array_temp_20);

    string numbers ="0123456789";

    int pos1 = matrix_string.find_last_of(numbers);

    double last = double((int(matrix_string[pos1]) - 4); --> gibt mir die "0"

    int pos2 = matrix_string.find_last_of(numbers, pos1 - 1);

    double penultimate = double((int(matrix_string[pos2]) - 4);
    --> gibt mir die "2" usw.

    Das funktioniert Alles, problematisch wird es, wenn ich versuche, das Ganze in eine Funktion zu verpacken. Ich würde es dann gern so aus dem Hauptprogramm aufrufen:

    double temp = get_temp_from_name(array_temp_20);

    mit einem Funktionsprototypen:

    double get_temp_from_name(Mat_IO_DP array_name)

    Das funktioniert nicht, weil die Funktion dann mit dem Namen "array_name" arbeitet und nicht mit dem Namen "array_temp_20", was ich eigentlich versuche. Und in "array_name" ist ja keine Zahl, so bekomme ich auch nichts zurück. Habt Ihr eine Idee? Herzlichen Dank,

    Holger

    P.S.: "48" erscheint aus irgendwelchen Gründen als "4" und ein Smilie, lies also
    "4Smilie" --> "48"
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Bitte nutze in Zukunft die Code-Tags, dann ist das ganze viel lesbarer und es kommen keine Smilies vor.

    Zu deinem Problem:

    Ich hab zwar keine Lösung, aber ich frage mich warum du wissen musst was für eine Zahl in deinem Variablennamen drin steht. Wenn du Informationen über einen Datentyp während der Laufzeit benötigst, kannst du RTTI (Realtime Type Information) nutzen.

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    22.01.2008
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Ziffer aus Variablenname extrahieren2?

    @Wasserleiche:

    Ich will nicht den Datentyp wissen, sondern mittels einer Funktion aus einem Variablennamen eine Zahl als double herausziehen, also z.B. aus einem Array, das "array_temp_20" heißt, die "20" als double herausziehen.

    Z.B. so: double temp = get_temp(array_temp_20)

    Der Prototyp würde etwa so aussehen:

    double get_temp(array_name)
    .......................

  4. #4
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Jaja, das ist mir schon klar gewesen. Ich habe deinen ersten Post verstanden. Ich verstehe nur nicht warum du die Zahl aus dem Variablennamen wissen musst.

    Also was ist der Grund, der diese Funktion nötig macht?

    Ich meine, eventuell gibt es einen anderen Weg um deine Aufgabe zu lösen. Denn das was du probierst, ist doch sicher nur ein Workaround für ein bisher ungelöstes Problem.

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    22.01.2008
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Ziffer aus Variablenname extrahieren?

    @Wasserleiche:

    Ich könnte so halt an eine Funktion, die außer dem Array an sich auch die Temperatur wissen muss, trotzdem nur das Array übergeben und diese Funktion würde dann aus dem Arraynamen die entsprechende Temperatur extrahieren. So, wie ich es jetzt betreibe, übergebe ich eben die Temperatur jedesmal mit. Das ist auch ein Beispiel für einen von Dir angeregten anderen Weg. Ich dachte eben nur, dass man die Information "Temperatur", die ja im Arraynamen enthalten ist, aus diesem herausziehen kann und man sich damit das zusätzliche Angeben einer Temperatur sparen kann.

  6. #6
    Azubi(ne)
    Registriert seit
    22.06.2007
    Beiträge
    99
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    vll gibt es eine funktion die den string zerleg (vll was in richtung split oder so)
    kenn sie aber nicht gerade, hab zulang nix mehr mit c/c++ gemacht

    wenn das nicht hilft, könntest du es ja vll mit "reguläre Ausdrücke" probieren.
    http://www.galileocomputing.de/openb....htm#Xxx999329
    wobei das schnell kompliziert werden kann.

  7. #7
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ok, jetzt versteh ich warum du das machen willst. Aber wenn ich ehrlich bin halte ich das für den unschönsten Weg.

    Du sparst dir ein Integer in einer Struktur oder Klasse, brauchst aber stattdessen Rechenzeit. Ein Integer ist ein primitiver Datentyp, den Speicher würde ich mir wirklich gönnen. Sogar wenn du die Daten über eine Serielle Schnittstelle überträgst, ist das nicht die Welt.

    Alles andere ist viel zu umständlich, nur um die Temperatur nicht extra übergeben zu müssen.

  8. #8
    HTML Newbie
    Themenstarter

    Registriert seit
    22.01.2008
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Ziffer aus Variablenname extrahieren?

    @Darkanos:

    Vielen Dank für den Tipp. Wenn ich die Experten richtig verstanden habe, ist es wohl leider unmöglich, so etwas zu bewerkstelligen, weil die Variablennamen zur Laufzeit unbekannt sind. Vielen Dank für die Hilfe!

    @Wasserleiche:

    Es ist speichertechnisch wirklich kein größeres Problem den Integer mit zu übergeben, ich muss halt nur jedes Array einzeln übergeben und die Temperatur dazuschreiben und kann keine Schleife über die Arrays laufen lassen, die das jeweilige Array nimmt und die Temperatur extrahiert. Du schreibst "Alles andere ist viel zu umständlich", heißt das, es ist doch nicht unmöglich? Ich hatte in anderen Foren die Information bekommen, dass so etwas prinzipiell unmöglich ist, weil die Variablennamen zur Laufzeit unbekannt sind. Stimmt diese Info dann doch nicht so ganz!? Vielen Dank für die Hilfe!

  9. #9
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Nein nein, ich bin auch der Meinung das es nicht möglich ist. Wollte das nur nicht so deutlich sagen, weil ich mir nicht 100%ig sicher war.

    Aber wenn man sich überlegt, dass die Variablennamen ja nur in deinem Programm stehen, während der Laufzeit aber nur Speicheradressen, Pointer und sonstige sind, wird klar das es nicht gehen kann...

  10. #10
    HTML Newbie
    Themenstarter

    Registriert seit
    22.01.2008
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Ziffer aus Variablenname extrahieren?

    @Wasserleiche:

    Ok, vielen Dank nochmal, dann weiß ich jetzt zumindest, woran ich bin!

Ähnliche Themen

  1. Regexp - Ketten extrahieren
    Von The User im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 22.07.2008, 19:16
  2. Textbox, Eingabe = Variablenname, Wert in Textbox2 ?
    Von Heiko Neumann im Forum Forum für alle anderen Programmiersprachen
    Antworten: 7
    Letzter Beitrag: 09.01.2008, 10:22
  3. Emailadressen aus Outlook extrahieren
    Von webbie im Forum Computer - Internet Forum
    Antworten: 5
    Letzter Beitrag: 07.12.2007, 09:24
  4. PDF Dateien aus MSSQL Datenbank extrahieren
    Von Capfu im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 19.06.2007, 08:44
  5. Daten aus .txt extrahieren
    Von firstrincewind im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 13.10.2006, 18:24

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •