4k - Commander

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • 4k - Commander

      Ja es geht, einen Dateicommander in 4k zu quetschen! Aussehen und Komfort sind zwar etwas auf der Strecke geblieben, aber alle wesentlichen Funktionen sind drin (und funktionieren hoffentlich auch).

      [Blockierte Grafik: http://s8.postimage.org/tunagdjdd/Screen_08_03_2013_14_Uhr_44_34_Sek.jpg]

      Quellcode

      1. ' 4k-Wettbewerb @Volkmar 2013
      2. Declare Int L1,L2,T1,T2,S1,S2,LW,BA,BL,BK,BV,BU,BN,GF
      3. WindowStyle 543
      4. WindowTitle "4k-Commander"
      5. Window (%MaxX \ 3)*2,(%MaxY \ 2)
      6. UseIcon "DOS"
      7. SetDialogFont External("gdi32.dll","GetStockObject",17)
      8. Set("FileMode",0)
      9. UserMessages $10
      10. T1=CRT()
      11. T2=CRT()
      12. L1=CRL()
      13. L2=CRL()
      14. BA=CRB("Ausführen")
      15. BL=CRB("Löschen")
      16. BK=CRB("Kopieren")
      17. BV=CRB("Verschieben")
      18. BU=CRB("Umbenennen")
      19. BN=CRB("Neuer Ordner")
      20. S1=CRT()
      21. S2=CRT()
      22. SetFont BA,0
      23. RSZ Width(%HWnd),Height(%HWnd)
      24. Upd T1,L1,GetDir$("@")
      25. Upd T2,L2,GetDir$("@")
      26. While 1
      27. If GetFocus(L1)
      28. GF=L1
      29. SetCurSel L2,-1
      30. SetText S2,""
      31. Sta L1,S1,T1
      32. EndIf
      33. If GetFocus(L2)
      34. GF=L2
      35. SetCurSel L1,-1
      36. SetText S1,""
      37. Sta L2,S2,T2
      38. EndIf
      39. WaitInput
      40. Case %UMessage=$10:Break
      41. If %Key=4
      42. RSZ Width(%HWnd),Height(%HWnd)
      43. ElseIf %Key=3
      44. RCmd %GetFocus
      45. ElseIf Clicked(BA)
      46. RCmd GF
      47. ElseIf Clicked(BL)
      48. Cmd 1,GF
      49. ElseIf Clicked(BK)
      50. Cmd 2,GF
      51. ElseIf Clicked(BV)
      52. Cmd 3,GF
      53. ElseIf Clicked(BU)
      54. Cmd 4,GF
      55. ElseIf Clicked(BN)
      56. Cmd 5,GF
      57. EndIf
      58. EndWhile
      59. Proc CRB
      60. Return Create("Button",%HWnd,$(1), 0,0,0,0)
      61. EndProc
      62. Proc CRT
      63. Return Create("Text",%HWnd,"",0,0,0,0)
      64. EndProc
      65. Proc CRL
      66. Return Create("ListBox",%HWnd,1,0,0,0,0)
      67. EndProc
      68. Proc Cmd
      69. Parameters Int M,L
      70. Declare String P,D,To,Z, Int DF,T,EL,ET
      71. CaseNot L:Return
      72. If L=L1
      73. T=T1
      74. EL=L2
      75. ET=T2
      76. Else
      77. T=T2
      78. EL=L1
      79. ET=T1
      80. EndIf
      81. P=GetText$(T)
      82. To=GetText$(ET)
      83. D=GetString$(L,GetCurSel(L))
      84. If Instr("[',D)
      85. DF=1
      86. D=EK(D)
      87. EndIf
      88. Z=P+'\'+D
      89. Case D='..':Return
      90. Case D='.':Return
      91. To=To+'\'+D
      92. Assign #1,Z
      93. If M=1
      94. If MessageBox(Z,'Datei Löschen?',36)=6
      95. If DF
      96. RMDir Z
      97. Else
      98. Erase #1
      99. EndIf
      100. EndIf
      101. ElseIf M=2
      102. Case EQT(Z,To,'Kopieren'):Copy Z>To
      103. ElseIf M=3
      104. If EQT(Z,To,'Verschieben')
      105. Copy Z>To
      106. If %IOResult
      107. NoAct
      108. Else
      109. Erase #1
      110. EndIf
      111. EndIf
      112. ElseIf M=4
      113. To=Input$('Geben Sie den neuen Dateinamen ein','Umbenennen','')
      114. If To <> ''
      115. DF=0
      116. To=P+'\'+To
      117. Case EQT(Z,To,'Umbenennen'):ReName #1,To
      118. EndIf
      119. ElseIf M=5
      120. To=Input$('Geben Sie den neuen Ordnernamen ein','Neuer Ordner','')
      121. If To<>''
      122. MkDir P+'\'+To
      123. EndIf
      124. EndIf
      125. If %IOResult
      126. NoAct
      127. Else
      128. Upd T,L,P
      129. Upd ET,EL,GetText$(ET)
      130. EndIf
      131. EndProc
      132. Proc NoAct
      133. MessageBox('Aktion wurde nicht ausgeführt','Fehler',16)
      134. EndProc
      135. Proc EK
      136. Return Translate$(Translate$($(1),']",""),"[','')
      137. EndProc
      138. Proc EQT
      139. Var Int R=1
      140. If Upper$($(1))=Upper$($(2))
      141. MessageBox('Quelle und Ziel sind gleich',$(3),16)
      142. R=0
      143. ElseIf DF
      144. FindFirst$(''!'')
      145. R=0
      146. EndIf
      147. Return R
      148. EndProc
      149. Proc RCmd
      150. Declare String R,P, Int L,T
      151. If %(1)=L1
      152. L=L1
      153. T=T1
      154. Else
      155. L=L2
      156. T=T2
      157. EndIf
      158. R=GetString$(L,GetCurSel(L))
      159. P=GetText$(T)
      160. If Instr('[',R)
      161. R=EK(R)
      162. If R='.'
      163. ElseIf R='\'
      164. R=Left$(P,2)
      165. ElseIf Instr('-',R)
      166. R=Mid$(R,2,1)+':'
      167. Else
      168. If R='..'
      169. If Len(P)>2
      170. R=SubStr$(P,-1,'\')
      171. R=Left$(P,Len(P)-(Len(R)+1))
      172. Else
      173. R=P
      174. EndIf
      175. Else
      176. R=P+'\'+R
      177. EndIf
      178. EndIf
      179. Upd T,L,R
      180. ElseIf R<>''
      181. ShellExec(P+'\'+R,'open',1)
      182. EndIf
      183. EndProc
      184. Proc RSZ
      185. Parameters Int W,H
      186. Case W=0:Return
      187. Var Int R=W \ 2
      188. Var Int B=H-30
      189. SWP T1,0,2,R-2,20
      190. SWP T2,R+2,2,R-2,20
      191. SWP L1,0,24,R-2,H-82
      192. SWP L2,R+2,24,R-2,H-82
      193. SWP S1,0,B-20,R-2,18
      194. SWP S2,R+2,B-20,R-2,18
      195. SWP BA,2,B,100,22
      196. SWP BL,102,B,100,22
      197. SWP BK,202,B,100,22
      198. SWP BV,302,B,100,22
      199. SWP BU,402,B,100,22
      200. SWP BN,502,B,100,22
      201. EndProc
      202. Proc SWP
      203. SetWindowPos %(1)=%(2),%(3)-%(4),%(5)
      204. EndProc
      205. Proc Upd
      206. Parameters Int T,L, String P
      207. SetText T,P
      208. ClearList L
      209. P=P+'\*.*'
      210. SendMessage(L,$18D,$C03F,Addr(P))
      211. If Len(GetText$(T))>2
      212. P='[..]"
      213. Case SendMessage(L,$18F,-1,Addr(P))=-1:AddString(L,P)
      214. AddString(L,"[\]")
      215. EndIf
      216. EndProc
      217. Proc Sta
      218. Parameters Int L,S,E
      219. Declare String FA,D
      220. D=GetString$(L,GetCurSel(L))
      221. If D=""
      222. SetText S,D
      223. Else
      224. Case Instr("[',D):Return
      225. D=GetText$(E)+'\'+D
      226. Var Int A=GetFAttr(D)
      227. Case TestBit(A,0):FA=FA+'R'
      228. Case TestBit(A,1):FA=FA+'H'
      229. Case TestBit(A,2):FA=FA+'S'
      230. Case TestBit(A,5):FA=FA+'A'
      231. SetText S,D+' '+Str$(FileSize(D))+' Bytes ['+FA+']"
      232. EndIf
      233. EndProc
      Alles anzeigen
      Gruß Volkmar
    • Ja, Danke.
      Habe eben noch ein Problem gefunden, der Versuch, Ordner zu kopieren oder verschieben läßt das Ding abstürzen. Ist nun beseitigt, kommt jetzt "Aktion wurde nicht ausgeführt" und Programm läuft weiter.

      Quellcode

      1. ' 4k-Wettbewerb @Volkmar 2013
      2. Declare Int L1,L2,T1,T2,S1,S2,LW,BA,BL,BK,BV,BU,BN,GF
      3. WindowStyle 543
      4. WindowTitle "4k-Commander"
      5. Window (%MaxX \ 3)*2,(%MaxY \ 2)
      6. UseIcon "DOS"
      7. SetDialogFont External("gdi32.dll","GetStockObject",17)
      8. Set("FileMode",0)
      9. UserMessages $10
      10. T1=CRT()
      11. T2=CRT()
      12. L1=CRL()
      13. L2=CRL()
      14. BA=CRB("Ausführen")
      15. BL=CRB("Löschen")
      16. BK=CRB("Kopieren")
      17. BV=CRB("Verschieben")
      18. BU=CRB("Umbenennen")
      19. BN=CRB("Neuer Ordner")
      20. S1=CRT()
      21. S2=CRT()
      22. SetFont BA,0
      23. RSZ Width(%HWnd),Height(%HWnd)
      24. Upd T1,L1,GetDir$("@")
      25. Upd T2,L2,GetDir$("@")
      26. While 1
      27. If GetFocus(L1)
      28. GF=L1
      29. SetCurSel L2,-1
      30. SetText S2,""
      31. Sta L1,S1,T1
      32. EndIf
      33. If GetFocus(L2)
      34. GF=L2
      35. SetCurSel L1,-1
      36. SetText S1,""
      37. Sta L2,S2,T2
      38. EndIf
      39. WaitInput
      40. Case %UMessage=$10:Break
      41. If %Key=4
      42. RSZ Width(%HWnd),Height(%HWnd)
      43. ElseIf %Key=3
      44. RCmd %GetFocus
      45. ElseIf Clicked(BA)
      46. RCmd GF
      47. ElseIf Clicked(BL)
      48. Cmd 1,GF
      49. ElseIf Clicked(BK)
      50. Cmd 2,GF
      51. ElseIf Clicked(BV)
      52. Cmd 3,GF
      53. ElseIf Clicked(BU)
      54. Cmd 4,GF
      55. ElseIf Clicked(BN)
      56. Cmd 5,GF
      57. EndIf
      58. EndWhile
      59. Proc CRB
      60. Return Create("Button",%HWnd,$(1), 0,0,0,0)
      61. EndProc
      62. Proc CRT
      63. Return Create("Text",%HWnd,"",0,0,0,0)
      64. EndProc
      65. Proc CRL
      66. Return Create("ListBox",%HWnd,1,0,0,0,0)
      67. EndProc
      68. Proc Cmd
      69. Parameters Int M,L
      70. Declare String P,D,To,Z, Int DF,T,EL,ET
      71. CaseNot L:Return
      72. If L=L1
      73. T=T1
      74. EL=L2
      75. ET=T2
      76. Else
      77. T=T2
      78. EL=L1
      79. ET=T1
      80. EndIf
      81. P=GetText$(T)
      82. To=GetText$(ET)
      83. D=GetString$(L,GetCurSel(L))
      84. If Instr("[',D)
      85. DF=1
      86. D=EK(D)
      87. EndIf
      88. Z=P+'\'+D
      89. Case D='..':Return
      90. Case D='.':Return
      91. To=To+'\'+D
      92. Assign #1,Z
      93. If M=1
      94. If MessageBox(Z,'Löschen?',36)=6
      95. If DF
      96. RMDir Z
      97. Else
      98. Erase #1
      99. EndIf
      100. EndIf
      101. ElseIf M=2
      102. Case EQT(Z,To,'Kopieren'):Copy Z>To
      103. ElseIf M=3
      104. If EQT(Z,To,'Verschieben')
      105. Copy Z>To
      106. If %IOResult
      107. NoAct
      108. Else
      109. Erase #1
      110. EndIf
      111. EndIf
      112. ElseIf M=4
      113. To=Input$('Geben Sie den neuen Dateinamen ein','Umbenennen','')
      114. If To <> ''
      115. DF=0
      116. To=P+'\'+To
      117. Case EQT(Z,To,'Umbenennen'):ReName #1,To
      118. EndIf
      119. ElseIf M=5
      120. To=Input$('Geben Sie den neuen Ordnernamen ein','Neuer Ordner','')
      121. If To<>''
      122. MkDir P+'\'+To
      123. EndIf
      124. EndIf
      125. If %IOResult
      126. NoAct
      127. Else
      128. Upd T,L,P
      129. Upd ET,EL,GetText$(ET)
      130. EndIf
      131. EndProc
      132. Proc NoAct
      133. MessageBox('Aktion nicht ausgeführt','Fehler',16)
      134. EndProc
      135. Proc EK
      136. Return Translate$(Translate$($(1),']",""),"[','')
      137. EndProc
      138. Proc EQT
      139. Var Int R=1
      140. If Upper$($(1))=Upper$($(2))
      141. MessageBox('Quelle und Ziel sind gleich',$(3),16)
      142. R=0
      143. ElseIf DF
      144. FindFirst$(''!'')
      145. R=0
      146. EndIf
      147. Return R
      148. EndProc
      149. Proc RCmd
      150. Declare String R,P, Int L,T
      151. If %(1)=L1
      152. L=L1
      153. T=T1
      154. Else
      155. L=L2
      156. T=T2
      157. EndIf
      158. R=GetString$(L,GetCurSel(L))
      159. P=GetText$(T)
      160. If Instr('[',R)
      161. R=EK(R)
      162. If R='.'
      163. ElseIf R='\'
      164. R=Left$(P,2)
      165. Else
      166. If R='..'
      167. R=SubStr$(P,-1,'\')
      168. R=Left$(P,Len(P)-(Len(R)+1))
      169. Else
      170. R=P+'\'+R
      171. EndIf
      172. EndIf
      173. Upd T,L,R
      174. ElseIf R<>''
      175. ShellExec(P+'\'+R,'open',1)
      176. EndIf
      177. EndProc
      178. Proc RSZ
      179. Parameters Int W,H
      180. Case W=0:Return
      181. Var Int R=W \ 2
      182. Var Int B=H-30
      183. SWP T1,0,2,R-2,20
      184. SWP T2,R+2,2,R-2,20
      185. SWP L1,0,24,R-2,H-82
      186. SWP L2,R+2,24,R-2,H-82
      187. SWP S1,0,B-20,R-2,18
      188. SWP S2,R+2,B-20,R-2,18
      189. SWP BA,2,B,100,22
      190. SWP BL,102,B,100,22
      191. SWP BK,202,B,100,22
      192. SWP BV,302,B,100,22
      193. SWP BU,402,B,100,22
      194. SWP BN,502,B,100,22
      195. EndProc
      196. Proc SWP
      197. SetWindowPos %(1)=%(2),%(3)-%(4),%(5)
      198. EndProc
      199. Proc Upd
      200. Parameters Int T,L, String P
      201. SetText T,P
      202. ClearList L
      203. ClearList
      204. AddFiles P+'\*.*'
      205. CaseNot GetCount(0):AddString '[..]"
      206. AddString "[\]"
      207. MoveListToHandle(L)
      208. EndProc
      209. Proc Sta
      210. Parameters Int L,S,E
      211. Declare String FA,D
      212. D=GetString$(L,GetCurSel(L))
      213. If D=""
      214. SetText S,D
      215. Else
      216. Case Instr("[',D):Return
      217. D=GetText$(E)+'\'+D
      218. Var Int A=GetFAttr(D)
      219. Case TestBit(A,0):FA=FA+'R'
      220. Case TestBit(A,1):FA=FA+'H'
      221. Case TestBit(A,2):FA=FA+'S'
      222. Case TestBit(A,5):FA=FA+'A'
      223. SetText S,D+' '+Str$(FileSize(D))+' Bytes ['+FA+']"
      224. EndIf
      225. EndProc
      Alles anzeigen


      Nun passen aber nur noch 4 Byte rein :-D

      Gruß Volkmar
    • Volkmar;961243 schrieb:

      Nunja, eingeschränkt allerdings.

      Naja, einen Ersatz für den Total Commander, das schafft ja nicht mal
      MS, kann man in 4K nicht erwarten ;-)
      Gruß Thomas

      "Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."
      ComputerInfo für PPF
    • Tolles Programm.

      Es wäre allerding schön, wenn man auch die Laufwerke wechsln könnte. Die könnte man ja als [C:], [D:], etc. in der Liste mit anzeigen.

      Gruß
      Roland
      (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
      AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


      http://www.xprofan.de
    • @Horst, Dein 2win4me wird's verkraften, er sieht doch viel schöner aus :-D

      Ja stimmt, ein Laufwerkswechsel fehlte noch. Nun sind auch fast alle Einrückungen weg, dafür sind nun die Laufwerke auch da.

      Quellcode

      1. ' 4k-Wettbewerb @Volkmar 2013
      2. Declare Int L1,L2,T1,T2,S1,S2,LW,BA,BL,BK,BV,BU,BN,GF
      3. WindowStyle 543
      4. WindowTitle "4k-Commander"
      5. Window (%MaxX \ 3)*2,(%MaxY \ 2)
      6. UseIcon "DOS"
      7. SetDialogFont External("gdi32.dll","GetStockObject",17)
      8. Set("FileMode",0)
      9. UserMessages $10
      10. T1=CRT()
      11. T2=CRT()
      12. L1=CRL()
      13. L2=CRL()
      14. BA=CRB("Ausführen")
      15. BL=CRB("Löschen")
      16. BK=CRB("Kopieren")
      17. BV=CRB("Verschieben")
      18. BU=CRB("Umbenennen")
      19. BN=CRB("Neuer Ordner")
      20. S1=CRT()
      21. S2=CRT()
      22. SetFont BA,0
      23. RSZ Width(%HWnd),Height(%HWnd)
      24. Upd T1,L1,GetDir$("@")
      25. Upd T2,L2,GetDir$("@")
      26. While 1
      27. If GetFocus(L1)
      28. GF=L1
      29. SetCurSel L2,-1
      30. SetText S2,""
      31. Sta L1,S1,T1
      32. EndIf
      33. If GetFocus(L2)
      34. GF=L2
      35. SetCurSel L1,-1
      36. SetText S1,""
      37. Sta L2,S2,T2
      38. EndIf
      39. WaitInput
      40. Case %UMessage=$10:Break
      41. If %Key=4
      42. RSZ Width(%HWnd),Height(%HWnd)
      43. ElseIf %Key=3
      44. RCmd %GetFocus
      45. ElseIf Clicked(BA)
      46. RCmd GF
      47. ElseIf Clicked(BL)
      48. Cmd 1,GF
      49. ElseIf Clicked(BK)
      50. Cmd 2,GF
      51. ElseIf Clicked(BV)
      52. Cmd 3,GF
      53. ElseIf Clicked(BU)
      54. Cmd 4,GF
      55. ElseIf Clicked(BN)
      56. Cmd 5,GF
      57. EndIf
      58. EndWhile
      59. Proc CRB
      60. Return Create("Button",%HWnd,$(1), 0,0,0,0)
      61. EndProc
      62. Proc CRT
      63. Return Create("Text",%HWnd,"",0,0,0,0)
      64. EndProc
      65. Proc CRL
      66. Return Create("ListBox",%HWnd,1,0,0,0,0)
      67. EndProc
      68. Proc Cmd
      69. Parameters Int M,L
      70. Declare String P,D,To,Z, Int DF,T,EL,ET
      71. CaseNot L:Return
      72. If L=L1
      73. T=T1
      74. EL=L2
      75. ET=T2
      76. Else
      77. T=T2
      78. EL=L1
      79. ET=T1
      80. EndIf
      81. P=GetText$(T)
      82. To=GetText$(ET)
      83. D=GetString$(L,GetCurSel(L))
      84. If Instr("[',D)
      85. DF=1
      86. D=EK(D)
      87. EndIf
      88. Z=P+'\'+D
      89. Case D='..':Return
      90. Case D='.':Return
      91. To=To+'\'+D
      92. Assign #1,Z
      93. If M=1
      94. If MessageBox(Z,'Datei Löschen?',36)=6
      95. If DF
      96. RMDir Z
      97. Else
      98. Erase #1
      99. EndIf
      100. EndIf
      101. ElseIf M=2
      102. Case EQT(Z,To,'Kopieren'):Copy Z>To
      103. ElseIf M=3
      104. If EQT(Z,To,'Verschieben')
      105. Copy Z>To
      106. If %IOResult
      107. NoAct
      108. Else
      109. Erase #1
      110. EndIf
      111. EndIf
      112. ElseIf M=4
      113. To=Input$('Geben Sie den neuen Dateinamen ein','Umbenennen','')
      114. If To <> ''
      115. DF=0
      116. To=P+'\'+To
      117. Case EQT(Z,To,'Umbenennen'):ReName #1,To
      118. EndIf
      119. ElseIf M=5
      120. To=Input$('Geben Sie den neuen Ordnernamen ein','Neuer Ordner','')
      121. If To<>''
      122. MkDir P+'\'+To
      123. EndIf
      124. EndIf
      125. If %IOResult
      126. NoAct
      127. Else
      128. Upd T,L,P
      129. Upd ET,EL,GetText$(ET)
      130. EndIf
      131. EndProc
      132. Proc NoAct
      133. MessageBox('Aktion wurde nicht ausgeführt','Fehler',16)
      134. EndProc
      135. Proc EK
      136. Return Translate$(Translate$($(1),']",""),"[','')
      137. EndProc
      138. Proc EQT
      139. Var Int R=1
      140. If Upper$($(1))=Upper$($(2))
      141. MessageBox('Quelle und Ziel sind gleich',$(3),16)
      142. R=0
      143. ElseIf DF
      144. FindFirst$(''!'')
      145. R=0
      146. EndIf
      147. Return R
      148. EndProc
      149. Proc RCmd
      150. Declare String R,P, Int L,T
      151. If %(1)=L1
      152. L=L1
      153. T=T1
      154. Else
      155. L=L2
      156. T=T2
      157. EndIf
      158. R=GetString$(L,GetCurSel(L))
      159. P=GetText$(T)
      160. If Instr('[',R)
      161. R=EK(R)
      162. If R='.'
      163. ElseIf R='\'
      164. R=Left$(P,2)
      165. ElseIf Instr('-',R)
      166. R=Mid$(R,2,1)+':'
      167. Else
      168. If R='..'
      169. If Len(P)>2
      170. R=SubStr$(P,-1,'\')
      171. R=Left$(P,Len(P)-(Len(R)+1))
      172. Else
      173. R=P
      174. EndIf
      175. Else
      176. R=P+'\'+R
      177. EndIf
      178. EndIf
      179. Upd T,L,R
      180. ElseIf R<>''
      181. ShellExec(P+'\'+R,'open',1)
      182. EndIf
      183. EndProc
      184. Proc RSZ
      185. Parameters Int W,H
      186. Case W=0:Return
      187. Var Int R=W \ 2
      188. Var Int B=H-30
      189. SWP T1,0,2,R-2,20
      190. SWP T2,R+2,2,R-2,20
      191. SWP L1,0,24,R-2,H-82
      192. SWP L2,R+2,24,R-2,H-82
      193. SWP S1,0,B-20,R-2,18
      194. SWP S2,R+2,B-20,R-2,18
      195. SWP BA,2,B,100,22
      196. SWP BL,102,B,100,22
      197. SWP BK,202,B,100,22
      198. SWP BV,302,B,100,22
      199. SWP BU,402,B,100,22
      200. SWP BN,502,B,100,22
      201. EndProc
      202. Proc SWP
      203. SetWindowPos %(1)=%(2),%(3)-%(4),%(5)
      204. EndProc
      205. Proc Upd
      206. Parameters Int T,L, String P
      207. SetText T,P
      208. ClearList L
      209. P=P+'\*.*'
      210. SendMessage(L,$18D,$C03F,Addr(P))
      211. If Len(GetText$(T))>2
      212. P='[..]"
      213. Case SendMessage(L,$18F,-1,Addr(P))=-1:AddString(L,P)
      214. AddString(L,"[\]")
      215. EndIf
      216. EndProc
      217. Proc Sta
      218. Parameters Int L,S,E
      219. Declare String FA,D
      220. D=GetString$(L,GetCurSel(L))
      221. If D=""
      222. SetText S,D
      223. Else
      224. Case Instr("[',D):Return
      225. D=GetText$(E)+'\'+D
      226. Var Int A=GetFAttr(D)
      227. Case TestBit(A,0):FA=FA+'R'
      228. Case TestBit(A,1):FA=FA+'H'
      229. Case TestBit(A,2):FA=FA+'S'
      230. Case TestBit(A,5):FA=FA+'A'
      231. SetText S,D+' '+Str$(FileSize(D))+' Bytes ['+FA+']"
      232. EndIf
      233. EndProc
      Alles anzeigen


      Gruß Volkmar