AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Skript für die freie Statistiksoftware R starten...
Thema durchsuchen
Ansicht
Themen-Optionen

Skript für die freie Statistiksoftware R starten...

Ein Thema von BoolString · begonnen am 20. Mai 2009 · letzter Beitrag vom 28. Mai 2009
Antwort Antwort
BoolString

Registriert seit: 2. Feb 2009
Ort: Varel
70 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Skript für die freie Statistiksoftware R starten...

  Alt 20. Mai 2009, 00:26
Ich habe das Problem, daß ich für eine statistische Auswertung gerne ein Skript in der freien Statistiksoftware R (www.r-project.org) starten möchte. Das Skript selbst funktioniert unter R und wir auch korrekt abgearbeitet. Nun würde ich es aber gerne aus einer Delphi Applikation heraus starten.

Dazu habe ich versucht R via ShellExecute zu starten und als Parameter die komplette Skriptdatei inklusive Pfad zu übergeben. R wird zwar gestartet, allerdings kommt vor dem Start die Meldung (vermutlich von R), daß das Skript ignoriert wurde und R startet nach der Bestätigung auf den OK Button der Nachricht ganz normal. Es wird kein Skript geladen und die GUI von R sieht so aus, als wenn man kein Skript übergeben hat.

Habe ich da etwas übersehen, müssen noch weitere Parameter mit angegeben werden oder habe ich einen ganz grundlegenden Fehler? Dies hat doch sicherlich schon mal jemand gemacht...

Liebe Grüße

Jan

Delphi 2009, Win Vista Business


Delphi-Quellcode:
procedure TfrmMain.Button1Click(Sender: TObject);
Var R_Path : String;
    Skript_Path : String;
    Full_Path : String;
// temp_Path : Array [0..1024] of Char
begin
  R_Path := 'C:\Program Files\R\R-2.7.0\bin\Rgui.exe';
  Skript_Path := 'E:\Projekte\VPR-LOKI\LOKI-Browser\R-Script Entwicklung\R-Script Dokumentation\LOKI-Hydrography-CTDO.r';

  ShellExecute (Handle, nil, PChar (R_Path), PChar(Skript_Path), '', SW_NORMAL);

end;
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Skript für die freie Statistiksoftware R starten...

  Alt 20. Mai 2009, 00:32
Schon mal versucht den Parameter in Anführungszeichen zu setzen?
Skript_Path := '"E:\Projekte\VPR-L ... ation\LOKI-Hydrography-CTDO.r"';
  Mit Zitat antworten Zitat
BoolString

Registriert seit: 2. Feb 2009
Ort: Varel
70 Beiträge
 
RAD-Studio 2009 Pro
 
#3

Re: Skript für die freie Statistiksoftware R starten...

  Alt 20. Mai 2009, 11:51
Leider nicht. Deie Meldung kommt immer noch. Ich hab sie mal unten angehängt.
Habe inzwischen (glaub ich) alle Versionen mit Anführungszeichen und abschließendem Slash / Backslash ausprobiert...

Hast du dies schon mal gemacht, bzw. lauffähig hinbekommen?

jan



---------------------------
Information
---------------------------
ARGUMENT 'E:\Projekte\VPR-LOKI\LOKI-Browser\R-Script Entwicklung\R-Script Dokumentation\LOKI-Hydrography-CTDO.r' __ignored__

---------------------------
OK
---------------------------
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Skript für die freie Statistiksoftware R starten...

  Alt 20. Mai 2009, 15:16
Also zumindest wenn der Parameter in Anführungszeichen gesetzt wird, wird ShellExecute bei mir wie gewünscht ausgeführt.

Rgui.exe habe ich durch eine kleine Exe getauscht, dass mir nur die Parameter listet. Wird gestartet und der komplette ScriptPfad wird als einzelner Parameter angezeigt.

***

Die Fehlermeldung kommt von Rgui.exe?

Evtl. mal testweise das Script zusammen in den Exe-Ordner legen oder den Pfad E:\.. nochmal penibel kontrollieren. Manchmal übersieht man ein falsches Zeichen gleich öfter.
  Mit Zitat antworten Zitat
BoolString

Registriert seit: 2. Feb 2009
Ort: Varel
70 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: Skript für die freie Statistiksoftware R starten...

  Alt 20. Mai 2009, 17:06
Ich bin mir ehrlich gesagt nicht sicher von wo die Fehlermeldung kommt. Es ist nur ein kleines Infofenster, welches keine weiteren Informationen aufführt als die oben gegebenen. Danach wird bei mir die R-GUI gestartet. Nur leider passiert nichts.

Meine Vermutung wäre, daß R jetzt gerne noch irgendwelche weiteren Parameter möchte. Ich glaube fast nicht, daß es an den Pfaden liegt, werde aber hier noch einmal experimentieren. Ich habe sogar einmal komplett Slash und Backslash gegeneinander vertausscht (R möchte das intern so haben... Tantiemen an die Herkunft).

Ich habe die Dokumentationen zu R durch. Aber richtig was finden tut man hier nichts über eine Fernsteuerung/Shellaufrufe. Theoretisch sollte es aber funktionieren... Bin momentan echt etwas ratlos...

Jan
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Skript für die freie Statistiksoftware R starten...

  Alt 20. Mai 2009, 18:09
Also RGui.exe verwende ich nicht, aber was ich auf die schnelle gefunden hab:
Skript_Path := '--args "E:\Projekte\VPR-L ... ation\LOKI-Hydrography-CTDO.r"'; Scriptpfad in Anführungszeichen und davor, außerhalb der Anführungszeichen den Parameter --args.
  Mit Zitat antworten Zitat
BoolString

Registriert seit: 2. Feb 2009
Ort: Varel
70 Beiträge
 
RAD-Studio 2009 Pro
 
#7

Re: Skript für die freie Statistiksoftware R starten...

  Alt 22. Mai 2009, 14:47
Bin gerade unterwegs und kann es nicht testen. werde mich aber morgen wieder melden. Schönen Dank schon einmal.
Wo hast du denn was über die Aufrufmodalitäten gefunden? Irgendwie ist mir das nicht untergekommen. Deswegen bin ich davon ausgegangen, daß man einfach Pfad und Skript übergibt...


Herzlichen Dank

Jan
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Skript für die freie Statistiksoftware R starten...

  Alt 22. Mai 2009, 14:58
Hi,

ich hab auf die Schnell das hier gefunden:
http://cran.r-project.org/doc/manual...-under-Windows
Gruß
Norman
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Skript für die freie Statistiksoftware R starten...

  Alt 22. Mai 2009, 15:07
Zitat von BoolString:
Wo hast du denn was über die Aufrufmodalitäten gefunden?
Nur die Parameterliste zum Aufruf via File-verknüpfung (was ja dann passen sollte).

NormanNG hat ja eine riesen Dokumentation gefunden (die muss wirklich gut versteckt gewesen sein). Scheinbar geht es darum, das alles nach --args durchgreicht wird, könnte also klappen.
  Mit Zitat antworten Zitat
BoolString

Registriert seit: 2. Feb 2009
Ort: Varel
70 Beiträge
 
RAD-Studio 2009 Pro
 
#10

Re: Skript für die freie Statistiksoftware R starten...

  Alt 28. Mai 2009, 16:21
Sorry, daß ich mich so lange nicht gemeldet habe. Hatte unerwartet einige Tage zu tun....

Auch wenn die Dokumentation wohl nicht so richtig gut versteckt gewesen ist, ziehe ich meist deren Ausdrucke der pdf Dateien vor. Leider hatte meine alte Doku die Anhänge nicht gehabt. Keine Ahnung, wo die verloren gegangen sind. Ist zwar keine richtige Entschuldigung, hab mir aber erst mal das neue 'Getting started with R' besorgt.

Der --args parameter ist es nicht. Mit dem kann ich andere Dinge fernsteuern.

Mit dem --file Kommando komme ich zumindest schon mal an die Kommandozeile (r.exe) heran. Die produziert mir aus den Plot dann auch schön ein pdf. Ich würd aber gerne die R GUI (rgui.exe) mit einem Skript starten um einige interaktive Darstellungen nutzen zu können. Dies scheint aber irgendwie nicht vorgesehen zu sein. Alle Versuche die GUI mit den Kommandos zu füttern sind bisher fehlgeschlagen. Dafür hab ich inzwischen gemerkt, daß die Kommandozeile sowohl mit Slash, wie auch Backslash zurecht kommt...

Hat vielleicht noch jemand eine Idee?

Liebe Grüße aus Bremerhaven

Jan

Delphi-Quellcode:
Var R_Path : String;
    Skript_Path : String;
begin
  R_Path := '"C:\Program Files\R\R-2.7.0\bin\R.exe\"';
// R_Path := '"C:\Program Files\R\R-2.7.0\bin\Rgui.exe\"';
// Skript_Path := '--file="E:\Projekte\VPR-LOKI\LOKI-Browser\R-Script Entwicklung\R-Script Dokumentation\LOKI-Hydrography-CTDO.r"';
  Skript_Path := '--file="E:/Projekte/VPR-LOKI/LOKI-Browser/R-Script Entwicklung/R-Script Dokumentation/LOKI-Hydrography-CTDO.r"';

  ShellExecute (Handle, nil, PChar (R_Path), PChar(Skript_Path), '' , SW_NORMAL);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 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