Ir al contenido


Foto

[RESUELTO] Problema con ciclo for e INI


  • Por favor identifícate para responder
6 respuestas en este tema

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 18 enero 2010 - 05:35

Hola amigos, estoy tratando de guardar un grupo de items seleccionados de un listbox en archivo .ini, hasta ahí todo bien, el problema es el siguiente, necesito guardar ese grupo de items de la siguiente forma:



delphi
  1. Items=Uno,Dos,Tres,Cuatro



Así debería quedar en el INI, sin un coma al final, tengo el siguiente code:



delphi
  1. for i := 0 to aftExtList.Count -1 do begin
  2.       if aftExtList.Selected[i] = True then begin
  3.         if aftExtList.SelCount > 1 then
  4.           Extensiones := Extensiones + aftExtList.Items[i]+','
  5.         else
  6.           Extensiones := Extensiones + aftExtList.Items[i];
  7.       end;
  8.     end;
  9.  
  10.     Config.WriteString('EXPLORER','Files_associated',Extensiones);



Pero me lo guarda así:



delphi
  1. Items=Uno,Dos,Tres,Cuatro,



Con el coma al final, ¿qué hago mal? ^o|

Saludos.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 18 enero 2010 - 06:07

Intenta con esto...



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   i: integer;
  4.   extensiones: string;
  5.   contador: integer;
  6. begin
  7.   Contador := 0;
  8.   for i := 0 to aftExtList.Items.Count -1 do
  9.   begin
  10.       if aftExtList.Selected[i] = True then begin
  11.         if aftExtList.SelCount > 1 then
  12.         begin
  13.             if contador = aftExtList.SelCount - 1 then
  14.               Extensiones := Extensiones + aftExtList.Items[i]
  15.             else begin
  16.               Extensiones := Extensiones + aftExtList.Items[i]+',';
  17.               inc(Contador);
  18.             end;
  19.         end
  20.         else
  21.             Extensiones := Extensiones + aftExtList.Items[i]
  22.       end;
  23.   end;
  24.   Config.WriteString('EXPLORER','Files_associated',Extensiones);
  25. end;



Salud OS
  • 0

#3 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 18 enero 2010 - 06:14

Gracias bro, ahora sí queda, funciona de perlas (y) :D
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 18 enero 2010 - 06:18

Gracias bro, ahora sí queda, funciona de perlas (y) :D


Que bien, solo sigo con la duda porqué te molesta esa coma al final :D :D :D

Salud OS
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 18 enero 2010 - 06:22

Que bien, solo sigo con la duda porqué te molesta esa coma al final :D :D :D

Salud OS


Porque más adelante estará relacionado con el registro de windows y sé que me dará cierto pedos ese coma :D
  • 0

#6 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 18 enero 2010 - 07:57

Saludos.

Un poco tarde pero esta es otra solución de menos código:



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   i: integer;
  4.   extensiones: string;
  5. begin
  6.   Extensiones := NullAsStringValue;
  7.   for i := 0 to aftExtList.Items.Count -1 do
  8.   begin
  9.     if aftExtList.Selected[i] = True then
  10.       Extensiones := Extensiones + aftExtList.Items[i]+',';
  11.   end;
  12.   if Extensiones[Length(Extensiones)] = ',' then
  13.     SetLength(Extensiones, Length(Extensiones) -1);
  14.   Config.WriteString('EXPLORER','Files_associated',Extensiones);
  15. end;


  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 18 enero 2010 - 08:06

Muchas gracias Rolphy (y)
  • 0




IP.Board spam blocked by CleanTalk.