Seite 5 von 32

Verfasst: 23.01.2007 06:52
von ts-soft
Hier mal ein kurzes Snippet, damit meine commandleiste endlich kommt :wink:

Code: Alles auswählen

If OpenWindow(0, #PB_Ignore, #PB_Ignore,  640, 27, "")
  AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)
  CreateGadgetList(WindowID(0))
  ComboBoxGadget(0, 3, 3, 634, 100, #PB_ComboBox_Editable)
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Break
      Case #PB_Event_Menu
        Select EventMenu()
          Case 0
            If GetActiveGadget() = 0
              ;SetCurrentDirectory(bla)
              AddGadgetItem(0, -1, GetGadgetText(0))
              WinExec_(GetGadgetText(0), #SW_SHOWNORMAL)
            EndIf
        EndSelect
    EndSelect
  ForEver
EndIf
Viel fehlt nicht :mrgreen:

Gruß
Thomas

Verfasst: 23.01.2007 20:53
von al90
ts-soft hat geschrieben:Hier mal ein kurzes Snippet, damit meine commandleiste endlich kommt :wink:
Hatte ich sogar schonmal drinn. Sah aber gräßlich aus, da habe ich sie wieder
rausgenommen und durch den Menü-Entry ersetzt. :)

Aber trotzdem ein Interessanter vorschlag. Frage; Wieso benutzt du eigentlich WinExec_() ? Was ist eigentlich daran anders als an RunProgram() ?
Ich meine weil "Öffnen mit..." erscheint damit ebenfalls nicht. Oder hat es andere vorzüge ?
Ich glaub ich muss mich mal endlich ein WinAPI-Buch zulegen. :mrgreen:

Verfasst: 23.01.2007 21:07
von ts-soft
Ich kann "notepad" eintippen, oder "notepad c:\windows\mylog.log"
Du brauchst nichts zu parsen.

Verfasst: 23.01.2007 21:26
von al90
Ja das ist mir schon klar. Braucht man bei RunProgram ja auch nicht.
Was ich aber meinte ist das wenn z.b. eine Datei mit dem Namen MyFile.xyz
geöffnet wird, dann erscheint kein Öffnen mit... , Dateityp .XYZ hat keine zuordnung...
oder blablabla was weis ich was da nochmal angezeigt wird.
Ich dachte immer es wäre über API machbar.
Übrigens ist mir nochwas aufgefallen: Wenn ich ein PB-Source öffne, dann
startet Windows immer die original IDE statt jaPBe. Unter Windows selbst
oder TC tritt dieses problem nicht auf. Woran könnte das liegen ?

Verfasst: 23.01.2007 21:35
von ts-soft
PB nutzt ShellExecute mit "open" parameter, Du wahrscheinlich mit 0. jaPBe
ist ja nur als Default eingetragen, aber nicht "open", weil dies ja den PB
Eintrag überschreiben würde.

Zu WinExec:
Bei RunProgramm kannste das Programm, evtl. mit Pfad und Parameter
nicht in einer Zeile schreiben, sind dann mindestens 3 Parameter.

Verfasst: 23.01.2007 22:14
von al90
Hab das ganze grade nochmal genauer getestet.

Folgendes:

PB4.02 befindet sich in C:\Programme\PureBasic\
PB3.94 befindet sich in C:\Programme\PureBasic394\

Doppelklick auf Sources (unter PFM) öffnet die 3.94 IDE
Doppelklick auf Sources (unter TC) öffnet jaPBe wie gewollt.

Benenne ich jetzt den Ordner von PB394 um, dann kommt unter PFM
die meldung "Öffnen mit..." Nun hacke ich die CheckBox mit
inhalt "Datei immer damit öffnen" an. Klappt soweit gut. Allerdings
kommt diese frage jetzt immer wenn ich ein PB-Source Doppelklicke.
Also irgendwo spinnt da mein Windows. Hab den 3.94 Ordner wieder
zurück umbenannt. Jetzt startet wieder immer nur die 3.94 IDE. :?
Ich meine das ganze dürfte doch normal nicht passieren, oder ?
Ein einmaliges anhacken der Checkbox müsste IMHO reichen. :?:

Verfasst: 23.01.2007 22:26
von ts-soft
Du darfst nicht RunProgram nutzen, sondern

Code: Alles auswählen

ShellExecute_(0, 0, "...bla.pb", 0, 0, #SW_SHOWNORMAL)
PB nutzt für RunProgram als 2ten Parameter nicht 0 sonder "open", das geht
mit jaPBe nicht, weil jaPBe nicht als open registriert ist, sonder als edit aber
Default :D

Verfasst: 23.01.2007 22:54
von al90
Ok werde mir das mit Exec mal genauer anschauen. Bin immer davon ausgegangen
das bei 'Checkbox = aktiv' auch immer komplett von Windows registriert wird.
Naja man lernt nie aus. Kurriositätenkabbinet. :freak: :lol:

Verfasst: 28.01.2007 20:59
von al90
Hallo Leute,

Ich bin sauer, verflucht sauer sogar. :angry:

Folgendes:

Derzeit arbeite ich an der FTP integrierung. Soweit klappt auch alles bestens.
Ich kann in Dirs rumklicken, UnterDirs aufrufen, oder bspw. bis zum Root
zurückkehren. FtpRename & FtpCreateDirectory ist bereits voll einsatzfähig.

Allerdings gibt es ein DICKES PROBLEM.; Ich kann nicht in neu angelegte
Verzeichnisse klicken.
Dabei versagt immer die FtpFindFirstFile_() funktion und gibt immer #False zurück. :evil:
Bei allen anderen Dirs die schon vorhanden waren klappt alles Fehlerfrei. Ich bin deswegen
schon total angenervt und spiele schon mit dem gedanken aufzugeben und auf eine FTP option
zu verzichten. :? Ich komme eben einfach nicht weiter und habe deshalb sogar schon
NortonAntivirus durch Avira wieder ersetzt, da ich zunächst glaubte es läge daran.
Aber Fehlanzeige. Es will einfach nicht klappen. Ich bin mit meinem lataein am ende. >_<

Jetzt war ich schon so weit und muss es warscheinlich aufgeben. Sehr serh schade. :cry:

Hier mal schnell die routine zum erstellen von FTP-Dirs.

Code: Alles auswählen

Procedure.l CreateDirectoryFTP(verz$)
  ProcedureReturn FtpCreateDirectory_(hConnect,@verz$)
EndProcedure
FTP Öffne ich so:

Code: Alles auswählen

      hInternet=InternetOpen_("FTP",1,"","",0)
      hConnect=InternetConnect_(hInternet,Servername$,port,Username$,Password$,1,0,0) 
Ich meine was kann man daran viel falsch machen ? In neue Dirs lässt sich einfach
nicht reinklicken. :freak:

Hat evtl. jemand ne idee woran es liegen könnte ? Wäre wirklich sehr sehr schade
wenn ich es jetzt "Auf ewigem Eis" legen müsste.

BTW:

hInternet.l & hConnect habe ich übrigens Globalisiert. Nur für den fall das
Ihr euch wundert das es in der proc nicht angegeben wurde. Ich könnte es
auch Sharen, aber ich glaube kaum daß das viel helfen würde.

Ach ja und nochwas.: Nachdem Fehler (Rückgabe = #False) und ausloggen
bekomme ich erstmal für eine weile überhaupt kein connect mehr. Meistens
erst dann wieder wenn ich die komplette Inet-verbindung trenne und dann
wieder aufnehme.

Wie ich schon sagte, Kurriositätenkabbinet. :freak:

Verfasst: 28.01.2007 21:21
von Kiffi
Hallo al90,

so aus dem hohlen Kopft heraus würde ich 2 Dinge checken:

* Probier mal mit einem normalen FTP-Client, ob Du dort Ordner anlegen
kannst und direkt danach reinwechseln kannst. Vielleicht hat Dein FTP-Server
eine 'Macke'?

* Überprüfe, ob der aus Deinem Programm neu erstellte Ordner auch das
entsprechende Attribute 'directory' hat und Du die entsprechenden Rechte
hast, ihn auch zu öffnen. Meines Erachtens ist es durchaus möglich, einen
Ordner zu erstellen ('write'), diesen aber nicht zu öffnen ('read').

Grüße ... Kiffi