Seite 1 von 1

Comate und winscp, brauche mal hilfe...

Verfasst: 07.05.2015 22:02
von appndown
Hi,

bitte bitte kann mir mal jemand helfen wie ich den Code von unten mit Comate umsetzte ?
Ich verstehe das nicht wirklich...
Es gibt ja von WINSCP die DLL´s.... Und das Tutorial von Comate hab ich mir auch mal angeschaut, aber ich brauche mal ein
Beispiel...
Wäre super wenn mir jemand helfen kann...

Ich kann WINSCP.com auch über die Console aufrufen mit RunProgramm...
Allerdings wir nur der Uploadstatus übergeben wenn er 100% erreicht hat und das reicht leider nicht...

Gruß
Sascha



Code: Alles auswählen

vusing System;
using WinSCP;
 
class Example
{
    public static int Main()
    {
        try
        {
            // Setup session options
            SessionOptions sessionOptions = new SessionOptions {
                Protocol = Protocol.Sftp,
                HostName = "example.com",
                UserName = "user",
                Password = "mypassword",
                SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
            };
 
            using (Session session = new Session())
            {
                // Connect
                session.Open(sessionOptions);
 
                // Upload files
                TransferOptions transferOptions = new TransferOptions();
                transferOptions.TransferMode = TransferMode.Binary;
 
                TransferOperationResult transferResult;
                transferResult = session.PutFiles(@"d:\toupload\*", "/home/user/", false, transferOptions);
 
                // Throw on any error
                transferResult.Check();
 
                // Print results
                foreach (TransferEventArgs transfer in transferResult.Transfers)
                {
                    Console.WriteLine("Upload of {0} succeeded", transfer.FileName);
                }
            }
 
            return 0;
        }
        catch (Exception e)
        {
            Console.WriteLine("Error: {0}", e);
            return 1;
        }
    }
}


Re: Comate und winscp, brauche mal hilfe...

Verfasst: 07.05.2015 22:48
von Kiffi
appndown hat geschrieben:Es gibt ja von WINSCP die DLL´s
ein Link wäre nett. Ich habe nur die .NET-DLL gefunden und die würde ja auch zu Deinem C#-Code oben passen.

Grüße ... Peter

Re: Comate und winscp, brauche mal hilfe...

Verfasst: 07.05.2015 23:01
von appndown
Kiffi hat geschrieben:
appndown hat geschrieben:Es gibt ja von WINSCP die DLL´s
ein Link wäre nett. Ich habe nur die .NET-DLL gefunden und die würde ja auch zu Deinem C#-Code oben passen.

Grüße ... Peter
http://winscp.net/eng/docs/library
Da sollte doch mit Comate gehen ist doch eine COM...
http://winscp.net/eng/docs/library_install

Re: Comate und winscp, brauche mal hilfe...

Verfasst: 07.05.2015 23:36
von Kiffi
ein erster Schuss (kann ich hier nicht ausprobieren). Versuch mal, inwiefern Du damit weiterkommst.

Hinweis: 'Protocol_Sftp' im Code unten ist wohl eine Konstante, deren Wert ich auf die Schnelle nicht herausfinden konnte.

Code: Alles auswählen

IncludePath "DeinPfadZu\COMatePLUS\"
XIncludeFile "COMatePLUS.pbi"

Define session.COMateObject
Define sessionOptions.COMateObject

sessionOptions = Comate_CreateObject("WinSCP.SessionOptions")

If sessionOptions
	
	sessionOptions\SetProperty("Protocol = Protocol_Sftp")
	sessionOptions\SetProperty("HostName = 'example.com'")
	sessionOptions\SetProperty("UserName = 'user'")
	sessionOptions\SetProperty("Password = 'mypassword'")
	sessionOptions\SetProperty("SshHostKeyFingerprint = 'ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx'")
	
	session = Comate_CreateObject("WinSCP.Session")
	
	If session
		
		; Connect
		session\Invoke("Open(" + Str(sessionOptions) + " As COMateObject)")
		
		; ...
		; für den Code, der hier stand habe ich momentan keine Muße
		; ...
		
		; Disconnect, clean up
		session\Invoke("Dispose")
		
		session\Release()
		
	Else
		
		Debug "!session"
		
	EndIf
	
	sessionOptions\Release()
	
Else
	
	Debug "!sessionOptions"
	
EndIf
Grüße ... Peter