Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 13
martini002 Va por buen camino
Borrar Clave o Seccion de un archivo INI

Saludos Amigos, donde quiera que se encuentren,

en esta oportunidad quisiera saber si existe la posibilidad
de borrar una seccion de un archivo INI, pero! he aqui la cuestion:

Tenemos una seccion

[Core.System]
CacheExt=.uxx
Paths=../Classes/*.u
Suppress=ScriptWarning
Suppress=WindowedMode

y necesito borrar este: "Suppress=WindowedMode" o colocarle un ";"
al inicio para comentarlo ";Suppress=WindowedMode"

probe con esto pero no funciono, quiza porque hay dos que se llaman igual
alguna idea?
Gracias infinitas

Código Delphi [-]
procedure TForm1.Button7Click(Sender: TObject);
var
  Ini:TIniFile;
begin
  //Suppress=WindowedMode
  Ini:= TIniFile.Create(Getcurrentdir()+'\File.Ini');
  Ini.DeleteKey('Core.System', 'Suppress');
end;
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita
  #2  
Antiguo 23-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por martini002 Ver Mensaje
probé con esto pero no funcionó, quizá porque hay dos que se llaman igual, ¿alguna idea?
Sí, cámbiale el nombre

En serio, no pueden tener el mismo nombre, ¿cómo los diferencias?

Algo que puedes hacer es ponerlo en otra sección, ejemplo:

Código:
[Core.System]
CacheExt=.uxx
Paths=../Classes/*.u
Suppress=ScriptWarning

[Core.System2]
Suppress=WindowedMode
Saludos.
Responder Con Cita
  #3  
Antiguo 23-09-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Si estás obligado a hacer eso por código, puedes abrir el archivo y leerlo en un TStringList, buscar la línea o líneas que te interesen y borrarlas... Luego lo guardas en disco...


Saludos.
Responder Con Cita
  #4  
Antiguo 23-09-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 13
martini002 Va por buen camino
Gracias Roman pero no puedo desarmarlo :/
porque esto sera una aplicacion que haga eso mismo .
en un numero desconocido de computadoras
voy a probar con el TStringList y luego guardarlo en disco.

Saludos, Gracias
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita
  #5  
Antiguo 24-09-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 13
martini002 Va por buen camino
Bueno estuve leyendo un poco sobre los TStringList
y di al final con este codigo, pero esta presentando un pequeño problema
y realmente no tengo idea de que sera, ya que no se como funciona exactamente el TStringList
La cuestion es que la Variable Posicion comienza en 0 despues de la primera comparacion
cambia a 320 y entra como en un loop infinito algo asi

hechenle un ojito a ver si encuentran algo extraño
Saludos, Gracias!

Código Delphi [-]
procedure TForm1.Button7Click(Sender: TObject);
var
  ATemporal:TStringList;
  Posicion:Integer;
  BorrarKey:Boolean;
begin
  ATemporal:= TStringList.Create;
  ATemporal.LoadFromFile('F:\File.Ini');
  for Posicion:= 0 to ATemporal.Count do
    begin
      //Posicion vale 0
      BorrarKey := ATemporal.Find('Suppress=WindowedMode', Posicion);
      //Posicion vale 320 ahora...
      if BorrarKey=True then
        begin
          ATemporal.Delete(Posicion);
          DeleteFile('F:\File.Ini');
          ATemporal.SaveToFile('F:\File.Ini');
        end;
    end;
end;

Intentanto con un While para usar el contador tenemos:

Código Delphi [-]
  Posicion:=50;
  while Posicion < 100 do
    begin
      BorrarKey := ATemporal.Find('Suppress=WindowedMode', Posicion);//Aqui cambia a 320 igual
      Posicion:=Posicion+1;
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.

Última edición por martini002 fecha: 24-09-2012 a las 03:04:45.
Responder Con Cita
  #6  
Antiguo 24-09-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 13
martini002 Va por buen camino
Bueno encontre una solucion a esto
puede ser optimizada pero tengo sueño y no quiero jum
igual se las dejo aqui para quien pueda servirle,
Gracias infinitas por su tiempo
Saludos

Código Delphi [-]
  Posicion:=50;
  Temp:='Suppress=WindowedMode';
  while Posicion < 100 do
    begin
      if ATemporal[Posicion]=Temp then
        begin
          ATemporal.Delete(Posicion);
          DeleteFile('F:\File.Ini');
          ATemporal.SaveToFile('F:\File.Ini');
        end
      Else
        begin
          Posicion:=Posicion+1;
        end;
    end;
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita
  #7  
Antiguo 24-09-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Ejemplo sencillo:
Código Delphi [-]
var
  i: integer;
begin
  with TStringList.Create do
  begin
    LoadFromFile('Doc.ini');
    i:= IndexOf('Suppress=WindowedMode');
    if i>=0 then
    begin
      Delete(i);
      SaveToFile('Doc2.ini');
    end;
    free;
  end;
end;

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Borrar clave ajena sin nombre Kubelo Firebird e Interbase 12 20-04-2010 17:29:51
Borrar Archivo mdb Viky Varios 5 30-01-2008 11:49:56
Borrar con ADO.NET sin Clave Principal camomilass Conexión con bases de datos 2 15-01-2007 17:24:03
no me deja borrar un archivo Giniromero Windows 5 04-03-2005 08:05:44
Borrar clave en tabla paradox CFPA86 Varios 1 17-08-2004 12:37:55


La franja horaria es GMT +2. Ahora son las 19:48:01.


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
Copyright 1996-2007 Club Delphi