Anfängerfragen zum Programmieren mit PureBasic.
Velindos
Beiträge: 598 Registriert: 15.11.2010 10:56
Beitrag
von Velindos » 03.11.2017 19:28
Hallo Leute,
mit dem Befehl
Debug GetPathPart("D:\INFORMENT\[TRAILER]\00 Schneider Im Wendezeichen der Eidechse (2013)\Folder.jpg")
erhalte ich den
"D:\INFORMENT\[TRAILER]\00 Schneider Im Wendezeichen der Eidechse (2013)\"
Gibt es eine Möglichkeit das ich
"00 Schneider Im Wendezeichen der Eidechse (2013)"
als String zurück bekomme!
Hat jemand eine Idee?
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
ts-soft
Beiträge: 22292 Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43 CPU: AMD FX-6300 Six-Core Processor GraKa: GeForce GTX 750 Ti, 2 GB Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin
Beitrag
von ts-soft » 03.11.2017 19:45
Gibt es eine Möglichkeit das ich
Sehr viele
z.B.
Code: Alles auswählen
Debug StringField("D:\INFORMENT\[TRAILER]\00 Schneider Im Wendezeichen der Eidechse (2013)\Folder.jpg", CountString("D:\INFORMENT\[TRAILER]\00 Schneider Im Wendezeichen der Eidechse (2013)\Folder.jpg", "\"), "\")
Sicro
Beiträge: 955 Registriert: 11.08.2005 19:08
Kontaktdaten:
Beitrag
von Sicro » 03.11.2017 19:52
Code: Alles auswählen
Debug GetFilePart(RTrim(GetPathPart("D:\INFORMENT\[TRAILER]\00 Schneider Im Wendezeichen der Eidechse (2013)\Folder.jpg"), "\"))
mk-soft
Beiträge: 3701 Registriert: 24.11.2004 13:12
Wohnort: Germany
Beitrag
von mk-soft » 03.11.2017 20:04
Gerade im englischen Forum gepostet
Code: Alles auswählen
;-TOP
; Comment : SplitString to list with option double-quotes
; Author : mk-soft
; Version : v1.03
; Created : 03.11.2017
; Updated :
; Link GR :
; Link EN :
; OS : All
; ***************************************************************************************
Procedure SplitString(String.s, Separator.s, List Result.s(), DQuote = #False)
Protected *String.character, *Separator.character
Protected *Start, *End, exit, lock, do, dq, len
ClearList(Result())
*String = @String
*Separator = @Separator
*Start = *String
*End = *String
Repeat
If *String\c = 0
exit = #True
do = #True
If Not dq
*End = *String
EndIf
Else
If DQuote And *String\c = '"'
If Not lock
lock = #True
dq = #True
*Start = *String + SizeOf(character)
Else
lock = #False
*End = *String
EndIf
EndIf
If *String\c = *Separator\c And Not lock
do = #True
If Not dq
*End = *String
EndIf
EndIf
EndIf
If do
AddElement(Result())
len = (*End - *Start) / SizeOf(character)
If Len > 0
Result() = PeekS(*Start, len)
EndIf
*Start = *String + SizeOf(character)
do = #False
dq = #False
EndIf
*String + SizeOf(character)
Until exit
ProcedureReturn ListSize(Result())
EndProcedure
; ***************************************************************************************
;-Test
CompilerIf #PB_Compiler_IsMainFile
Global NewList r1.s()
Global text.s = "0;1x;2xx;'Text with separator (;)';4xxxx;5xxxxx;'Text with linefeed " + #LF$ + "and separator (;)';End"
text = ReplaceString(text, "'", #DQUOTE$)
;text = "Hello World"
Debug "Text = " + text
Debug "Count = " + SplitString(text, ";", r1(), #True)
ForEach r1()
Debug "#"+r1()+"#"
Next
text = "D:\INFORMENT\[TRAILER]\00 Schneider Im Wendezeichen der Eidechse (2013)\Folder.jpg"
Debug "Count = " + SplitString(text, "\", r1())
ForEach r1()
Debug "#"+r1()+"#"
Next
CompilerEndIf
Velindos
Beiträge: 598 Registriert: 15.11.2010 10:56
Beitrag
von Velindos » 04.11.2017 13:03
Hallo Leute,
DANKE für die Tips, jetzt kann ich das Verzeichnis auslesen!
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
udg
Beiträge: 560 Registriert: 20.06.2013 23:27
Beitrag
von udg » 04.11.2017 19:51
da gibts ein schönes Tool:
folder2txt Info und Runterladen
programmiert mit PureBasic
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS