Hoi 
Ik ben bezig aan een klein FTP upload programmatje. Na installatie kan je server profielen aanmaken, en er word dan per server een link in het Send To menu neergezet. Als je dan een file via Send To-->FTPSender upload wordt na de upload de URL op het clipboard gezet. Ik gebruik het zelf veel als ik snel even en JPG op een forum wil posten.
Anyway, het programma werkt prima! op 1 ding na. Soms wil ik ook meerdere files uploaden, dus multi-file support heb ik ook ingebakken. En daar zit het probleem.
Als je files via het Send To menu naar een exe stuurt worden de filenames gewoon als command line argument meegegeven.
Als alle files GEEN spaties in de pathnames hebben is het geen probleem.
Ik split de string dan gewoon op whitespaces en hou dan een array met de bestandsnamen over.
Als alle files WEL spaties in de pathnames hebben is het ook geen probleem.
Windows enclosed dan elke filename tussen aanhalingstekens.
Ik split de string dan gewoon op (chr34) en hou dan ook een array met filenames over.
Het probleem is als de gebruiker een aantal bestanden selecteert, sommige met, en sommige zonder spaties in de filenames.
De Command string komt er dan bijvoorbeeld zo uit te zien
Ik kan wel een beetje proggen, en tot nu toe werkt alles perfekt. Maar ik mis even het inzicht en logisch denkvermogen om een oplossing te bedenken. Hoe kan ik uit een string zoals de bovenstaande alle filenames in een array krijgen?
Ik ben bezig aan een klein FTP upload programmatje. Na installatie kan je server profielen aanmaken, en er word dan per server een link in het Send To menu neergezet. Als je dan een file via Send To-->FTPSender upload wordt na de upload de URL op het clipboard gezet. Ik gebruik het zelf veel als ik snel even en JPG op een forum wil posten.
Anyway, het programma werkt prima! op 1 ding na. Soms wil ik ook meerdere files uploaden, dus multi-file support heb ik ook ingebakken. En daar zit het probleem.
Als je files via het Send To menu naar een exe stuurt worden de filenames gewoon als command line argument meegegeven.
Als alle files GEEN spaties in de pathnames hebben is het geen probleem.
Ik split de string dan gewoon op whitespaces en hou dan een array met de bestandsnamen over.
Als alle files WEL spaties in de pathnames hebben is het ook geen probleem.
Windows enclosed dan elke filename tussen aanhalingstekens.
Ik split de string dan gewoon op (chr34) en hou dan ook een array met filenames over.
Het probleem is als de gebruiker een aantal bestanden selecteert, sommige met, en sommige zonder spaties in de filenames.
De Command string komt er dan bijvoorbeeld zo uit te zien
code:
1
| "c:\test\file with spaces.jpg" C:\test\file.jpg "c:\test\another file with spaces.jpg" c:\test\testfile2.jpg |
Ik kan wel een beetje proggen, en tot nu toe werkt alles perfekt. Maar ik mis even het inzicht en logisch denkvermogen om een oplossing te bedenken. Hoe kan ik uit een string zoals de bovenstaande alle filenames in een array krijgen?