sábado, 11 de julio de 2026

Delphi 7 - listar los archivos de un directorio

 var

  i: integer;

  b: tsearchrec;

begin

  SetCurrentDir('\\COMPRAS20HP\Users\Slim4-core\Desktop\Slimstock_ficheros_export\');

  i:= findfirst('*.txt', faAnyFile, b);

  while i=0 do

  begin

    showmessage(b.name);

    i:=findnext(b);

  end;


  findclose(b);



http://www.delphibasics.co.uk/RTL.php?Name=findfirst



Attribute constants and values

ConstantValueDescription

faReadOnly

$00000001

Read-only files

faHidden

$00000002

Hidden files

faSysFile

$00000004

System files

faVolumeID

$00000008

Volume ID files

faDirectory

$00000010

Directory files

faArchive

$00000020

Archive files

faAnyFile

$0000003F

Any file

TIPO TSearchRec

type

TSearchRec = record

Time: Integer;

Size: Integer;

Attr: Integer;

Name: TFileName;

ExcludeAttr: Integer;

FindHandle: THandle;

FindData: TWin32FindData;

end;


OTRO EJEMPLO

procedure TFPrincipal.Listar( sDirectorio: string; var Resultado: TStringList );

var

Busqueda: TSearchRec;

iResultado: Integer;

begin

// Nos aseguramos que termine en contrabarra

sDirectorio := IncludeTrailingBackslash( sDirectorio );

iResultado := FindFirst( sDirectorio + '*.*', faAnyFile, Busqueda);

while iResultado = 0 do

begin

// ¿Ha encontrado un archivo y no es un directorio?

if ( Busqueda.Attr and faArchive = faArchive ) and

( Busqueda.Attr and faDirectory <> faDirectory ) then

Resultado.Add( Busqueda.Name );

iResultado := FindNext( Busqueda );

end;

FindClose( Busqueda );

end;

miércoles, 22 de abril de 2026

Escritorio remoto poner resolución de la pantalla mas grande

 screen mode id:i:2

desktopwidth:i:1280

desktopheight:i:720

use multimon:i:0

session bpp:i:32

winposstr:s:0,3,0,0,1280,720


jueves, 9 de abril de 2026

Eliminar aviso de Windows de que se va a ejecutar una aplicación que no es de confianza

1. si el ejecutable esta en la intranet local, almacenada en otro equipo - se puede agregar ese equipo como sitio de confianza o como  equipo de la intranet local -> así deja de aparecer el aviso

Opciones de internet







Mover un punto en GeoGebra con JavaScript - ejemplo de primera aplicación sencilla de JavaScript en GeoGebra

 

Ejemplo de aplicación sencilla en GeoGebra

1. se instala Geogebra 5 de escritorio

Windows Installer: GeoGebra Classic 5 Installer for Windows 

2. se añade un punto y un botón

3. propiedades del botón, programa de guion, abajo poner tipo JavaScript en vez de guion de GeoGebra

4. código del programa

var a; //declaración variables en JavaScript
var b;
a = ggbApplet.getXcoord("A");  //lee coordenada X del punto "A" y lo almacena en variable a de JavaScript

b = ggbApplet.getYcoord("A"); // coordenada Y del punto

if (a < 5 && b < 5) {  // estructura condicional si las coordenadas X e Y son menor que 5 mueve el punto a la posición 1,6 y así sucesivamente
    ggbApplet.setCoords("A", 1, 6);
} else if (a < 5 && b > 5) {
    ggbApplet.setCoords("A", 6, 6);
} else if (a > 5 && b > 5) {
    ggbApplet.setCoords("A", 6, 1);
} else {
    ggbApplet.setCoords("A", 1, 1);
}

5. darle a guardar y cerrar pestaña de propiedades del botón
6. pulsar el botón y el punto se irá moviendo






miércoles, 8 de abril de 2026

Instalar sqlserver express y el gestor de la base de datos sql server management studio (ssms)

1. Instalar SQL2019-SSEI-Expr.exe

modo de instalación personalizado

elegir usuario sqlserver y poner la contraseña

quitar machine learning server

luego instalar el gestor de la base de datos - sql server management studio

SSMS-Setup-ESN.exe

acceder con usuario de sql server - nombre usuario: sa y la contraseña elegida anteriormente

Bases de datos

Restaurar la base de datos con archivo tipo  .bak




En dispositivo, elegir el archivo .bak

Aprender linux en Windows

powershell de windows

wsl --list --online

wsl --install -d Ubuntu




https://youtu.be/L4f1XHrSJEg?si=GLZMo4wAsaAoK7rC




Usar Javascript en Geogebra para realizar aplicaciones

Pasos para crear una aplicación de JavaScript en GeoGebra

1. Instalar la aplicación GeoGebra de escritorio

Windows Installer: GeoGebra Classic 5 Installer for Windows 

2. Crear botón, acceder a propiedades del botón pulsando el botón derecho del ratón

3. Programa de guion - evento al hacer clic 

abajo opciones de tipo de guion: 

- guion (script) de GeoGebra 

- JavaScript   <-- (elegir este)

4. Existen las variables de GeoGebra y las variables de JavaScript

a = ggbApplet.getXcoord("C"); 

//a es variable JavaScript y "C" es variable de GeoGebra, se comunican leyendo los valores de las variables de GeoGebra y almacenando los valores en variables de JavaScript

5. Código del programa. Ejemplo de programa que dibuja una recta perpendicular a otra recta definida por pasar por los puntos D y C

a = ggbApplet.getXcoord("C");
b = ggbApplet.getYcoord("C");
c = ggbApplet.getXcoord("D");
d = ggbApplet.getYcoord("D");
pendiente = (d - b) / (c - a);

pendiente2 = -1 * (1 / pendiente);

e = ggbApplet.getXcoord("A");
f = ggbApplet.getYcoord("A");

coe1 = f - (pendiente2 * e);

aux = "h: " + "y=(" + pendiente2 + ")*x+" + coe1;
ggbApplet.evalCommandGetLabels(aux);

6. Otro ejemplo de programa. Ahora con animación, la recta se va dibujando progresivamente, para ello usa el deslizador de GeoGebra "b" que va de -100 a 100 a velocidad 1

a = ggbApplet.getXcoord("C");
b = ggbApplet.getYcoord("C");
c = ggbApplet.getXcoord("D");
d = ggbApplet.getYcoord("D");
pendiente = (d - b) / (c - a);

pendiente2 = -1 * (1 / pendiente);

e = ggbApplet.getXcoord("A");
f = ggbApplet.getYcoord("A");

coe1 = f - (pendiente2 * e);
recta = "y=(" + pendiente2 + ")*x+(" + coe1 + ")";


aux = "v(x)=If(x<b,(" + pendiente2 + ")*x+(" + coe1 + "))";
ggbApplet.evalCommandGetLabels(aux);
ggbApplet.setValue("b", 0);
ggbApplet.setAnimating("b", true);
ggbApplet.startAnimation();



7. Una vez que se graba el código en JavaScript asociado al botón, para probarlo hay que cerrar la pestaña propiedades del botón, solo así se podrá ejecutar el código

(con la pestaña propiedades del botón abierta, no se ejecuta el código)

8. Grabar los cambios antes de cerrar la pestaña de propiedades del botón; de lo contrario, no se guardarán.

9. Es muy útil la función alert("hola"); - deja hacer una traza de la ejecución del programa para encontrar fallos. También muestra los valores de las variables JavaScript, por ejemplo, alert("Variable a: " & a);