Ver Mensaje Individual
  #7  
Antiguo 02-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Estás mezclando dos cosas:
  • Leer el archivo
  • Colorear las líneas en mayúsculas

Comenzaste este hilo preguntando cómo leer un archivo de texto y determinar si una línea está en mayúsculas o no. Después pasaste al tema del ListBox y no queda claro del todo claro su relación con el archivo.

Si el ListBox lo llenas con las líneas del archivo entonces no necesitas ningún TStringList aparte, basta que hagas:

Código Delphi [-]
ListBox1.Items.LoadFromFile('c:\prueba.txt');

La propiedad Items es ya un TStringList (más o menos).

Pero por otra parte recuerda: tú no pintas los elementos del ListBox, únicamente indicas bajo qué condiciones un elemento debe ir de un color u otro.

En el evento OnDrawItem no lees el archivo, ése ya lo leíste previamente. El parámetro Index indica el ítem que en esos momentos (cuando la VCL llama al evento) se va a dibujar y es cuando debes verificar si está en mayúsculas:

Código:
// Pseudo-código

Si el ítem con índice Index del ListBox está en mayúsculas entonces
  Cambiar propiedades de Canvas.Font y Canvas.Brush;

Imprimir la cadena
// Saludos
Responder Con Cita