Maestro de programación china
Se recomienda abrirlo primero con ultraedit y descubrir la estructura interna, como qué parte es el código de stock, qué parte es el nombre y qué parte es el precio.
Paso 2: Leer y escribir transmisiones. sistema. Lectores y sistemas binarios. La clase IO.BinaryWriter se utiliza para leer y escribir archivos binarios;
También es necesario analizar el formato de los datos. La fecha en el archivo del día especial se hizo hace mucho tiempo y ahora la he olvidado. Parece que es necesario convertir las fechas del interior. El archivo diario almacena los precios diarios durante un período de tiempo. Esto parece fácil de analizar. Fue compilado originalmente por Delphi, pero no puedo encontrarlo ahora. Quizás mi esposa lo borró.
Esto es para su referencia:
I. Archivos de datos y estructuras de datos:
Archivos de datos y estructuras de datos de Da Zhi: (Supongamos que la cotización de acciones de Da Zhi el software está instalado en el directorio D:dzh)
La ruta de almacenamiento de Shanghai Daily es: D:dzhdatasaseday y la extensión del archivo es:.
La ruta de almacenamiento de Shanghai Zhouxian es: D:dzhdatasaseweek y la extensión del archivo es:. semana.
La ruta de almacenamiento de la línea mensual de Shanghai es: d:dzhdatasasemonth y la extensión del archivo es:. mt.
La ruta de almacenamiento de Shenzhen Daily es: D:dzhDATASZnseDay.
La ruta de almacenamiento de Shenzhen Weekly es: d:dzhdatasznsweek.
La ruta de almacenamiento de la línea mensual de Shenzhen es: d:dzhdataszenmonth.
El formato de las líneas semanales y mensuales es el mismo que el de las líneas diarias.
Tomemos como ejemplo la línea diaria SDB:
1a 76:0100 D6 CD 2F 01 52 07 01 00-52 07 01 00 52 07 01 00
4D 02 00 00 00 00 00 00 00 00
1a 76: 0120 00 00 00 00 00 00-D7 CD 2F 01 60 03 01 00
1a 76: 0130 60 03 01 00 60 03 01 00-60 03 01 00 82 05 00 00
1A76:0140 D4
La longitud de cada registro es de 40 bytes:
1 - 4 bytes son la fecha, D6 CD 2F 01 convertido a decimal: 19910102.
5-8 bytes=precio de apertura (yuanes)*1000
9-12 bytes=precio más alto (yuanes)*1000
13-16 Bytes = precio más bajo (yuanes) * 1000
17-20 bytes = precio de cierre (yuanes) * 1000
21-24 bytes = monto de la transacción (yuanes)/1000
25-28 bytes = volumen (manual)
Los 12 bytes restantes no se utilizan.
Pasos de implementación:
1. Primero defina la matriz de estructura de datos diaria.
2. Luego asigne espacio en la matriz dinámica de acuerdo con el número real de registros.
3. Luego lea los datos en la matriz correspondiente.
Los datos diarios se colocan en: app_dir\DATA\SHase\Day (acciones A de Shanghai) y app_dir\DATA\SZnse\Day (acciones A de Shenzhen).
#Nota varias una vez
Estructura DZH5Day
{
Fecha larga sin firmar //Formato de fecha: 20070423
Apertura larga sin firmar; //precio de apertura
Máxima larga sin firmar; //precio más alto
Mínimo larga sin firmar; //precio más bajo
Cierre largo sin firmar; ; //precio de cierre
Suma de dinero larga sin firmar//monto de la transacción
Volumen largo sin firmar; //cantidad de la transacción
char No utilizado[12];
};
La estructura completa tiene ***40 bytes. Los lectores pueden ver todos los archivos diarios, el tamaño debe ser múltiplo de 40.
Esto facilita la lectura de los datos correspondientes:
Por ejemplo:
FILE * pFile = fopen(" 600001 . day ", " Rb ") ;
if (NULL!= pFile)
{
Y (!feof(pFile))
{
DZH5Día díaK
Fred(ampdayK,sizeof(DZH5Day),1,pFile);
......
}
}
-