Toon posts:

[C++] Ingevoerde bestandsnaam controleren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met een klein programmeerprobleempje en ik hoop dat iemand mij snel de goede richting in kan helpen.

Ik heb een functie gemaakt waarmee ik bepaalde gegevens uit mijn programma kan opslaan. Ik gebruik niet de standaard save-dialog maar heb zelf wat geschreven. Het enige wat de gebruiker hoeft te doen is een naam ingeven en op "Save" drukken.

Nu wil ik echter de ingevoerde bestandsnaam controleren op ongeldige characters. Bijvoorbeeld een punt, komma, back- en/of forwardslash, enz. Ik hier zelf wel een oplossing voor kunnen programmeren maar dan moet ik alle characters zelf in een array zetten en steeds dat array doorlopen.

Ik vroeg mij af of hier niet een standaardoplossing voor is?

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:35
Welke C++ gebruik je hier ?
Kan je geen gebruik maken van regex-en ?

https://fgheysels.github.io/


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Ja die is er, de standaard filesave-dialog gebruiken die bij je OS wordt geleverd, als jij graag eigenwijs wilt doen, tsja, dan moet je i.d.d. dat soort dingen zelf af gaan vangen, en daar heb je bijv. de msdn voor :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

Topicstarter
moto-moi schreef op donderdag 31 augustus 2006 @ 10:19:
Ja die is er, de standaard filesave-dialog gebruiken die bij je OS wordt geleverd, als jij graag eigenwijs wilt doen, tsja, dan moet je i.d.d. dat soort dingen zelf af gaan vangen, en daar heb je bijv. de msdn voor :)
Daar heb ik ook al aan gedacht. Nadeel hiervan is dat ik de gebruiker de vrijheid geef om te palen waar hij zijn save neer gaat zetten en dit is niet de bedoeling!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 13-02 18:54

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op donderdag 31 augustus 2006 @ 10:17:
Ik vroeg mij af of hier niet een standaardoplossing voor is?
Je kan met PathIsFileSpec() kijken of het een pure filename is, en dan gewoon proberen de file te openen voor schrijven.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • KopjeThee
  • Registratie: Maart 2005
  • Niet online
Misschien kan je gewoon proberen een file met de gegeven naam op te slaan. Dan controleert het OS voor je. Gaat het goed, dan is er niets aan de hand. Gaat het fout, dan vraag je de gebruiker om een nieuwe naam.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 13-02 18:54

.oisyn

Moderator Devschuur®

Demotivational Speaker

Wat ik al zei dus, maar je moet nog wel controleren of het een pure filename is anders kun je alsnog d:\mydir\file.bla opgeven, en zal het opslaan gewoon goed gaan.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
.oisyn schreef op donderdag 31 augustus 2006 @ 13:09:
Wat ik al zei dus, maar je moet nog wel controleren of het een pure filename is anders kun je alsnog d:\mydir\file.bla opgeven, en zal het opslaan gewoon goed gaan.
Niet echt, aangezien hij al een folder prepend. Als de gebruiker ..\..\..\foo.bar zou opgeven zou dat lukken. [/kommaneukerij] ;)

Overigens ben ik ook de mening toegedaan dat je beter de standaard save dialog van het OS gebruikt. Stel gewoon een standaard save directory in. Je weet namelijk nooit in welke situatie de gebruiker zit. Misschien wil hij een back-up maken, of misschien heeft hij geen rechten om te schrijven naar de folder die jij wil gebruiken? Ik kan me niet meteen een applicatie indenken waar het noodzakelijk is om bestanden verplicht in een vooraf bepaalde map op te slaan.

If you can't beat them, try harder


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 13-02 18:54

.oisyn

Moderator Devschuur®

Demotivational Speaker

dingstje schreef op donderdag 31 augustus 2006 @ 18:33:
[...]

Niet echt, aangezien hij al een folder prepend.
Oh, dan weet je meer dan ik, ik zie dat nergens staan namelijk ;).
Als de gebruiker ..\..\..\foo.bar zou opgeven zou dat lukken. [/kommaneukerij] ;)
En dan moet hij dus nog altijd met PathIsFileSpec het opgegeven bestandsnaam controleren

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1