Jump to content


Photo

[RESUELTO] Problema con ciclo for e INI


  • Please log in to reply
6 replies to this topic

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 18 January 2010 - 05:35 PM

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
  • 14469 posts
  • LocationMéxico

Posted 18 January 2010 - 06:07 PM

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
  • 7419 posts
  • LocationRepública Dominicana

Posted 18 January 2010 - 06:14 PM

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

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14469 posts
  • LocationMéxico

Posted 18 January 2010 - 06:18 PM

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
  • 7419 posts
  • LocationRepública Dominicana

Posted 18 January 2010 - 06:22 PM

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
  • 2092 posts
  • LocationRepública Dominicana

Posted 18 January 2010 - 07:57 PM

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
  • 7419 posts
  • LocationRepública Dominicana

Posted 18 January 2010 - 08:06 PM

Muchas gracias Rolphy (y)
  • 0




IP.Board spam blocked by CleanTalk.