Naar aanleiding van een project voor de Lokerse Feesten (zie ook een ander topic) moest ik een fotoboek-programma (lees bat-bestand met dos-opdrachten in) aanpassen zodat het gebruik zou maken van MySQL.
Op zich was dit geen probleem, maar ik wou er meteen ook de kleine foutjes uithalen.
Wat mijn programma deed was:
1. Eerst een userinput vragen over welke groep de foto's gaan.
2. Foto's resizen
3. Foto's renamen zodat ze de vorm "groep"xxx.jpg krijgen
...
Het moeilijkste was deftig renamen. "ren" is te primitief om dit te doen en alle andere batch-renaming software ondersteund geen command line renaming (wat ik nodig heb om in mijn bat-bestand te zetten).
Ik ging dus zelf aan de slag...in JAVA
Dit is mijn code:
Deze code werkt volledig zoals ik wil en geeft mij alle vrijheid. Perfect dus...of toch niet
Het probleem is dat ik hiervoor dus JAVA moet draaien op de pc in kwestie; Dat zou in principe niet zo een probleem zijn, ware het niet dat het programma de ene dag op PC 1 moet draaien en een uur later op PC 5 zonder problemen...en het probleem is dat op de Lokerse Feesten geen enkele pc standaard JAVA mee heeft.
Ik wil dus iets makkelijkers. En hiervoor dacht ik, waarom maak ik er nou niet gewoon een simpele .exe-file van. Met JAVA gaat dit niet echt heb ik al begrepen uit de search, dus dan maar C of C++. Hiervan heb ik wel al een basiskennis ondertussen, maar werken met files heb ik nog nooit gedaan.
Mijn vraag, is het doenbaar als je nog nooit met files gewerkt hebt in C of C++ om dit programma te vertalen naar C of C++? En kunnen jullie mij misschien enkele hulpvolle links geven zodat ik daaruit zelf wat kan gaan prutsen om het in orde te krijgen?
PS: sorry voor het verpesten van de layout, als het echt stoort pas ik het aan maar zo blijft de code leesbaar hé
Op zich was dit geen probleem, maar ik wou er meteen ook de kleine foutjes uithalen.
Wat mijn programma deed was:
1. Eerst een userinput vragen over welke groep de foto's gaan.
2. Foto's resizen
3. Foto's renamen zodat ze de vorm "groep"xxx.jpg krijgen
...
Het moeilijkste was deftig renamen. "ren" is te primitief om dit te doen en alle andere batch-renaming software ondersteund geen command line renaming (wat ik nodig heb om in mijn bat-bestand te zetten).
Ik ging dus zelf aan de slag...in JAVA
Dit is mijn code:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| import java.io.*; public class Rename { public static void main(String args[]) { int a = 1000; File directory = new File(System.getProperty("user.dir")); String[] textFileNames = directory.list(new FilenameFilter() { public boolean accept(File dir, String name) { return name.endsWith(".jpg"); } }); System.out.println("Beginnig file-renaming: " + textFileNames.length + " files to rename.\n"); for (int i = 0; i < textFileNames.length; ++i) { System.out.print("Renaming file "+(i+1)+" of " + textFileNames.length + ".\r"); File oldFile = new File(textFileNames[i]); String b = (a+i+1)+""; File newFile = new File(args[0] + b.substring(1,b.length()) + textFileNames[i].substring(textFileNames[i].length() - 4)); oldFile.renameTo(newFile); } System.out.println("\n\nRenaming finished succesfully."); } } |
Deze code werkt volledig zoals ik wil en geeft mij alle vrijheid. Perfect dus...of toch niet
Het probleem is dat ik hiervoor dus JAVA moet draaien op de pc in kwestie; Dat zou in principe niet zo een probleem zijn, ware het niet dat het programma de ene dag op PC 1 moet draaien en een uur later op PC 5 zonder problemen...en het probleem is dat op de Lokerse Feesten geen enkele pc standaard JAVA mee heeft.
Ik wil dus iets makkelijkers. En hiervoor dacht ik, waarom maak ik er nou niet gewoon een simpele .exe-file van. Met JAVA gaat dit niet echt heb ik al begrepen uit de search, dus dan maar C of C++. Hiervan heb ik wel al een basiskennis ondertussen, maar werken met files heb ik nog nooit gedaan.
Mijn vraag, is het doenbaar als je nog nooit met files gewerkt hebt in C of C++ om dit programma te vertalen naar C of C++? En kunnen jullie mij misschien enkele hulpvolle links geven zodat ik daaruit zelf wat kan gaan prutsen om het in orde te krijgen?
PS: sorry voor het verpesten van de layout, als het echt stoort pas ik het aan maar zo blijft de code leesbaar hé