Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Excepciones, o guardado en con nombre {\,/,:,*,?,",<,>} (https://www.clubdelphi.com/foros/showthread.php?t=60494)

mrnovice 03-10-2008 19:59:54

Excepciones, o guardado en con nombre {\,/,:,*,?,",<,>}
 
Saludos foreros, surgió este incidente cuando trato de guardar un archivo con los carácteres mencionados en el título, se me trunca el proceso y no realiza los procesos correspondientes, y ese valor que obtengo para guardar el nombre del archivo, lo agarro de un valor de hecho el nombre del escáner. osea cualquier valor que reciba de una fuente A-> lo convierte a un nombre de un archivo nosé A.txt pero cuando sea A:i400 -> me queda A, ¿mé explico?

Hay una solución sencilla a este problema nosé emm excepciones ó algo similar sin tener que recurrir analizadores léxicos y sintácticos qué es eso lo que se me viene a la mente pero es un dolor de cabeza!

maeyanes 03-10-2008 20:15:36

Hola...

El problema está que esos caracteres no son válidos para nombres de archivo en Windows...

Lo que podrías hacer es una función que elimine esos caracteres:

Código Delphi [-]
function CleanString(AStr: string): string;
const
  NoValid = '\/:*?"<>';

var
  I: Integer;

begin
  Result := '';
  for I = 1 to Length(AStr) do
    if Pos(AStr[i], NoValid) = 0 then
      Result := Result + AStr[i]
end;

De esta forma la cadena A:i400 quedaría como Ai400...

Saludos...

mrnovice 03-10-2008 20:17:06

Gracias por tu ayuda
 
Lo voy a aplicar, en realidad veo que me va a solucionar un problemomón! :)


La franja horaria es GMT +2. Ahora son las 17:36:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi