Red de conocimiento informático - Problemas con los teléfonos móviles - Programación de hechizos

Programación de hechizos

%alluserprofile% devuelve la ubicación de todos los perfiles de usuario locales.

%APPDATA% devuelve la ubicación donde se almacenan localmente los datos predeterminados de la aplicación.

%CD% devuelve la cadena del directorio actual localmente.

%CMDCMDLINE% devuelve la línea de comando exacta utilizada para iniciar el Cmd.exe actual localmente.

% cmtextversion% El sistema devuelve el número de versión de la extensión del controlador de comandos actual.

El sistema %COMPUTERNAME% devuelve el nombre del ordenador.

El sistema %COMSPEC% devuelve la ruta exacta del programa ejecutable del intérprete de línea de comando.

El sistema %DATE% devuelve la fecha actual. Utilice el mismo formato que el comando fecha /t. Generado por cmd.exe. Para obtener más información sobre el comando de fecha, consulte Fecha.

%ERRORLEVEL% El sistema devolvió el código de error del comando anterior. Los valores distintos de cero se suelen utilizar para indicar errores.

El sistema %HOMEDRIVE% devuelve la letra de unidad de la estación de trabajo local conectada al directorio de inicio del usuario. Establecido según el valor del directorio de inicio. Los directorios de inicio de usuarios se especifican en usuarios y grupos locales.

%HOMEPATH% El sistema devuelve la ruta completa del directorio de inicio del usuario. Establecido según el valor del directorio de inicio. Los directorios de inicio de usuarios se especifican en usuarios y grupos locales.

El sistema %HOMESHARE% devuelve la ruta de red del * * * directorio de inicio del usuario. Establecido según el valor del directorio de inicio. Los directorios de inicio de usuarios se especifican en usuarios y grupos locales.

%LOGONSERVER% devuelve localmente el nombre del controlador de dominio que autentica la sesión de inicio de sesión actual.

%NUMBER_OF_PROCESSORS% especifica el número de procesadores instalados en el ordenador.

%OS% system devolvió el nombre del sistema operativo. Windows 2000 muestra su sistema operativo como Windows_NT.

El sistema %PATH% especifica la ruta de búsqueda de archivos ejecutables.

El sistema %PATHEXT% devuelve una lista de extensiones de archivos que el sistema operativo considera ejecutables.

El sistema %PROCESSOR_ARCHITECTURE% devuelve la arquitectura del chip del procesador. Valor: x86 o IA64 (basado en Itanium).

% % PROCESADOR _ IDENTIFICADOR % El sistema devolvió la descripción del procesador.

El sistema %PROCESSOR_LEVEL% devuelve el modelo de procesador instalado en el ordenador.

%PROCESSOR_REVISION%El sistema devuelve el número de versión del procesador.

%PROMPT% devuelve localmente la configuración del símbolo del sistema para el intérprete actual. Generado por cmd.exe.

El sistema %RANDOM% devuelve cualquier número decimal entre 0 y 32767. Generado por cmd.exe.

El sistema %SYSTEMDRIVE% devuelve la unidad que contiene el directorio raíz del sistema operativo del servidor Windows (es decir, el directorio raíz del sistema).

El sistema %SYSTEMROOT% devuelve la ubicación del directorio raíz del sistema operativo del servidor Windows.

%TEMP% y %TMP% Sistema y Usuario devuelven los directorios temporales predeterminados utilizados por las aplicaciones disponibles para el usuario actualmente conectado. Algunas aplicaciones requieren TEMP, mientras que otras requieren TMP.

El sistema %TIME% devuelve la hora actual. Utilice el mismo formato que el comando time /t. Generado por cmd.exe. Para obtener más información sobre el comando de tiempo, consulte Hora.

%USERDOMAIN% devuelve el nombre de dominio que contiene la cuenta de usuario local.

%USERNAME% devuelve el nombre del usuario de inicio de sesión local actual.

%USERPROFILE% devuelve la ubicación local del perfil de usuario actual.

%WINDIR% system devuelve la ubicación del directorio del sistema operativo.

============================================ = ===============================================

Microsoft recomienda la nomenclatura húngara, que actualmente utilizan la mayoría de los fabricantes de software. Las reglas específicas son las siguientes:

La nomenclatura húngara es el estándar de nomenclatura en programación. El principio básico es: nombre de variable = atributo + tipo + descripción del objeto, donde el nombre de cada objeto debe tener un significado claro, pudiendo ser el nombre completo o parte del nombre del objeto. La denominación debe ser fácil de recordar y comprender. Es importante garantizar la coherencia del nombre.

Por ejemplo, el nombre del formulario se puede abreviar como frm en la nomenclatura húngara. Cuando la variable del formulario se llama Switchboard, el nombre completo de la variable debe ser frmSwitchboard. De esta manera, es fácil ver por el nombre de la variable que el panel de conmutación es un formulario. Asimismo, si el tipo de variable es una etiqueta, debe llamarse lblSwitchboard. Se puede ver que la nomenclatura húngara es muy fácil de recordar y hace que los nombres de las variables sean muy claros y fáciles de entender, lo que mejora la legibilidad del código y facilita la comunicación entre programadores.

Esta técnica de nomenclatura fue propuesta por Charles Simonyi, un hábil programador de Microsoft nacido en Hungría. A las personas que trabajaron con él en Microsoft se les enseñó a utilizar esta convención. Todo es normal para ellos. Pero para las personas ajenas al equipo del proyecto dirigido por Simonyi, esto era extraño. Pensaron que era una expresión estereotipada, incluso porque estaba escrita en húngaro. A partir de entonces, este método de denominación pasó a ser conocido como nomenclatura húngara.

Se dice que el término fue inventado por un programador húngaro llamado Charles Simonyi. Posteriormente permaneció en Microsoft durante varios años, por lo que

Esta nomenclatura se ha extendido por el mundo a través de diversos productos y documentos de Microsoft. A la mayoría de los programadores hoy en día no les importa si lo usan o no.

Este término se utiliza más o menos en cualquier software desarrollado. El punto de partida de este método de denominación es cambiar el nombre de la cantidad a: atributo + tipo.

+Descripción del objeto Para permitir que los programadores tengan una comprensión intuitiva del tipo y otras propiedades de las variables al crear variables, es el siguiente.

Esta es la convención de nomenclatura para las variables HN, algunas de las cuales son mis preferencias personales:

Sección de propiedades

Variables globales

g_

p>

Constante

c_

Variable miembro de clase C++

m_

Variable estática

s_

Tipo de pieza

Aguja

p

Función

Función [matemática]

No válido

v

Procesamiento

h

Entero largo

l

Booleano

b

Tipo de punto flotante (a veces llamado archivo)

f

Doble

Ancho desarrollado (abreviatura de Ancho desarrollado)

Cadena

Tamaño (abreviatura de tamaño)

Entero corto

n

p>

Doble coma flotante

d

Contar

c (generalmente cnt)

Carácter<; /p>

Ch (normalmente c)

Entero

I (normalmente n)

Byte

Después

Palabra

w

Tipo real

r

Sin símbolo

u

Parte de descripción

Más alto

Máximo

Mínimo

Hokkien

Inicialización

Inicialización

Variables temporales

Temperatura

Objeto de origen

Consejo de Investigación

p>

Objeto de destino

Plataforma de software para simulación de entornos de edificios y sistemas HVAC

Aquí hay algunos ejemplos:

Hwnd: h es una descripción de tipo, representa una manija, wnd es una descripción de objeto variable representa una ventana, por lo que Hwnd representa un identificador de ventana;

PFNeatapple: PFN es una descripción de tipo, es decir, un puntero a una función, eatapple es una descripción de objeto variable, por lo que significa.

Variable puntero de función que apunta a la función EatApple.

G _ Cch: G _ es una descripción de atributo, que representa una variable global. C y ch son tipo de recuento y tipo de carácter respectivamente, y juntos representan una clase de variable.

Escriba donde se ignora la descripción del objeto, por lo que representa una variable global que cuenta el número de caracteres.

Las anteriores son las reglas generales de la nomenclatura HN.

Resumen: nomenclatura húngara

Nomenclatura húngara

Convenciones de nomenclatura MFC, identificador, control y estructura variables de ejemplo de tipo de ventana Variables de ejemplo de clase MFC

HWND hWndCWnd * pWnd

HDLG hDlg; CDialog * pDlg

HDC hDCCDC * pDC

HGDIOBJ hGdiObjCGdiObject * pGdiObj

HPEN hPen; CPen * pPen

HBRUSH hBrushCBrush * pBrush

HFONT hFontCFont * pFont

HBITMAP hBitmapCBitmap * pBitmap

HPALETTE hPaltteCPalette * pPalette

HRGN hRgnCRgn * pRgn

HMENU hMenuCMenu * pMenu

HWND hCtlCState * pState

HWND hCtlCButton * pButton

HWND hCtlCEdit * pEdit

HWND hCtlCListBox * pListBox

HWND hCtlCComboBox * pComboBox

HWND hCtlCScrollBar * pScrollBar

HSZ hszStr< /p; >

Punto pt; CPoint esquina;

Tamaño; CSize tamaño;

RECT rectángulo; CRect rect

Ejemplo de tipo de prefijo de especificación de nomenclatura de prefijo universal

c clase o estructura CDocument, CPrintInfo

M_member variable m_pDoc, m_n client

Ejemplo de descripción de tipo de prefijo de especificación de nomenclatura de variable

Ch char 8- carácter de bit chGrade

Ch TCHAR Si se define _UNICODE, es el carácter de 16 bits chName.

Booleano

N int entero (su tamaño depende del sistema operativo) nLength

Cancelar valor sin signo (su tamaño depende del sistema operativo) nHeight

w palabra valor sin signo de 16 bits wPos

Entero largo con signo de 32 bits l desplazamiento

Entero sin signo de 32 bits

P *Puntero pDoc

Lp far *Puntero lejano lpszName

Puntero de cadena de 32 bits

Puntero de cadena constante de 32 bits

Si por definición _UNICODE , Lpsz LPCTSTR es un puntero de cadena constante de 32 bits lpszName.

Identificador de objeto de ventana

Lpfn CALLBACK es un puntero lejano que apunta a la función de devolución de llamada.

Rango de instancias de tipo de símbolo de prefijo

IDR_Múltiples recursos de diferentes tipos * * *Disfruta de ID IDR_mai en el marco1 ~ 0x6fff.

Recurso IDD_dialog IDD_spell_check1 ~ 0x6fff

Contexto de ayuda del recurso HIDD_Dialog hidd_spell_check 0x 20001 ~ 0x 26 ff

Recurso de mapa de bits BID_empresa_logo1 ~ 0x6fff

IDC_ recurso de cursor IDC_ pencil1 ~ 0x6fff

IDI_Icon recurso idi _Notepad 1 ~ 0x6fff

ID_Command ID del elemento de menú o barra de herramientas_Tools ID_Tools_SPELLING 0x 8000 ~ 0x dfff

Contexto de ayuda de HID_command HID_tools_spelling 0x 18000 ~ 0x 1 dfff

El cuadro de mensaje IDP_ indica IDP_IDP_INVALID_part no 8 ~ 0x deef.

HIDP_Cuadro de mensajes contexto de ayuda hidp_invalid_part no 0x 30008 ~ 0x 3 deff

IDS_ identificadores de recursos de cadena _ copyright 1 ~ 0x7eef

IDC_ El control en el cuadro de diálogo IDC_RECALC 8~0xDEEF

Tipo de nombre de convención de nomenclatura de macros de Microsoft MFC

Una versión única de la biblioteca de vínculos dinámicos (DLL) de AFXDLL.

_ALPHA sólo compila para procesadores DEC Alpha.

_DEBUG incluye una versión de depuración del diagnóstico.

_MBCS conjunto de caracteres multibyte compilados

_UNICODE Abra UNICODE en la aplicación.

Función proporcionada por AFXAPI MFC

Función de devolución de llamada mediante puntero.

Identificador de biblioteca Valores y significados del identificador con nombre

U ANSI(N) ​​​​o Unicode(U)

d Depurar o liberar: D = Depurar ; ignorar el identificador publicado.

Descripción de la biblioteca de especificación de nomenclatura de versión de biblioteca estática

Versión de depuración de NAFXCWD. LIB: biblioteca de enlaces estáticos MFC

NAFXCW. Distribución LIB: biblioteca de enlaces estáticos MFC

Versión de depuración de UAFXCWD. LIB: biblioteca de enlaces estáticos MFC que admite Unicode

UAFXCW. Versión LIB: biblioteca de enlaces estáticos MFC que admite Unicode.

Tipo de nombre de convención de nomenclatura de biblioteca de vínculos dinámicos

_AFXDLL La única versión de la biblioteca de vínculos dinámicos (DLL)

Función Winapi proporcionada por Windows

Nueva descripción de definición de tipo de convención de nomenclatura en Windows.h

WINAPI usa la posición FAR PASCAL en las declaraciones API. Si está escribiendo una DLL utilizando correcciones de API exportadas, puede usar este tipo en su propia API.

DEVOLUCIÓN DE LLAMADA Donde FAR PASCAL se utiliza en rutinas de devolución de llamada de aplicaciones como ventanas y cuadros de diálogo.

LPCSTR es lo mismo que LPSTR, excepto que LPCSTR se usa para punteros de cadena de solo lectura y su definición es similar (const char FAR*).

UINT es un tipo entero portátil sin signo cuyo tamaño está determinado por el entorno del host (32 bits para Windows NT y Windows 9x es sinónimo de int sin signo).

LRESULT El tipo de valor de retorno del ventanador.

lParam declara el tipo utilizado por LPARAM, que es el cuarto parámetro del programa de ventana.

wParam declara el tipo utilizado por WPARAM, que es el tercer parámetro del programa de ventana.

LPVOID es un tipo de puntero general, igual que (void *), y puede usarse en lugar de LPSTR.

============================================ === ===============================================

Convención de nomenclatura de variables

Prefijo

Tipo

Descripción

Ejemplo

Señor honorario

Caracteres de 8 bits

chGrade

Lord of Honor

TCHAR

Si usa la definición_UNICODE, entonces tiene 16 caracteres.

chName

b

Booleano

Booleano

Benable

n

(Igual que Organizaciones internacionales) Organizaciones internacionales

Entero (su tamaño depende del sistema operativo)

n longitud

n

UINT

Valor sin signo (su tamaño depende del sistema operativo)

Alto

w

Palabra

Valor sin signo de 16 bits

wPos

l

Largo

Entero con signo de 32 bits

lOffset

Ancho desarrollado (abreviatura de Ancho desarrollado)

DWORD

Entero sin signo de 32 bits

dwRange

p>

p

*

Aguja

pDoc

Programación lineal

FAR*

Puntero lejano

lpszName

lpsz

LPSTR

Puntero de cadena de 32 bits

lpszName

lpsz

LPCSTR

Puntero de cadena constante de 32 bits

lpszName

lpsz

LPCTSTR

Puntero de cadena constante de 32 bits, si está definido por _UNICODE.

lpszName

h

Procesamiento

identificador de objetos de Windows

hWnd

lpfn

Reciclaje

Puntero lejano de la función de devolución de llamada

Prefijo

Tipo de símbolo

Ejemplo

Alcance

IDR_

Múltiples recursos de diferentes tipos * * * comparten la misma identidad.

IDR_MAIINFRAME

1~0x6FFF

IDD_

Recurso de diálogo

IDD _Spelling_Check

p>

1~0x6FFF

HIDD_

Contexto de ayuda para recursos de diálogo

HIDD_Spell Check

0x20001~0x26FF

p>

IDB_

Recurso de mapa de bits

IDB_Company_Logo

1~0x6FFF

IDC_

Recurso de cursor

IDC_PENCIL

1~0x6FFF

IDI_

Recurso de iconos

IDI _ Bloc de notas

1~0x6FFF

ID_

Elemento de menú o comando en la barra de herramientas

ID _Tools_Spelling

0x8000~0xDFFF

HID_

Contexto de ayuda del comando

HID_Tool_Spell

0x 18000 ~ 0x 1 ddff

IDP_

Mensaje mensaje del cuadro

IDP_INVALID_Número de pieza

8~0xDEEF

HIDP_

Contexto de ayuda del cuadro de mensaje

HIDP_Número de pieza no válido

0x30008~0x3DEFF

IDS_

Recursos de cadena

IDS_Copyright

1~0x7EEF

IDC_

Controles en el cuadro de diálogo

IDC_RECALC

8~0xDEEF

Convención de nomenclatura de la versión de la biblioteca estática

Almacén

Descripción

NAFXCWD. Movimiento de Liberación

Versión de depuración: biblioteca de enlaces estáticos MFC

NAFXCW. Movimiento de Liberación

Versión publicada: biblioteca de enlaces estáticos MFC

UAFXCWD. Movimiento de Liberación

Versión de depuración: biblioteca de enlaces estáticos MFC que admite Unicode

UAFXCW. Movimiento de Liberación

Distribución: biblioteca de enlaces estáticos MFC que admite Unicode.

Nueva convención de nomenclatura en Windows.h

Tipos

Descripción de la definición

WINAPI

Uso de declaraciones API FAR Posición PASCAL en , puede usar ese tipo en su propia API si está escribiendo una DLL usando el punto de relleno de API exportado.

Reciclaje

La ubicación de FAR PASCAL utilizada en rutinas de devolución de llamada de aplicaciones, como ventanas y cuadros de diálogo.

LPCSTR

Igual que LPSTR, excepto que LPCSTR se usa para punteros de cadena de solo lectura y su definición es similar a (const char FAR*).

UINT

Un tipo entero portátil sin signo cuyo tamaño está determinado por el entorno del host (32 bits para Windows NT y Windows 9x; es sinónimo de int sin signo).

LRESULT

El tipo de valor de retorno del programa de ventana

LPARAM

Declare el tipo utilizado por lParam, que es el cuarto de el parámetro del programa de ventana.

WPARAM

Declara el tipo utilizado por wParam, que es el tercer parámetro del programa de ventana.

LPVOID

Un tipo de puntero general, como (void *), que se puede utilizar en lugar de LPSTR.

Convenciones de nomenclatura para MFC, identificadores, controles y estructuras

Tipos de Windows

Variables de muestra

Clases de MFC

Variables de muestra

HWND

hWnd

CWnd*

pWnd

HDLG

hDlg

CDialog*

pDlg

Sistema de control de descenso de colinas

hDC

Centros para el control de enfermedades y Prevención *

pDC

HGDIOBJ

hGdiObj

CGdiObject*

pGdiObj

HPEN

hPen

CPen*

pPen

HBRUSH

hBrush

CBrush*

pBrush

HFONT

hFont

CFont*

Pufeng;

HBITMAP

hBitmap

CBitmap*

pBitmap

Paltte

hPaltte

CPalette*

pPalette

HRGN

hRgn

CRgn*

pRgn

HMENU

hMenu

CMenu*

pMenu

HWND

hCtl

CState *

pState

HWND

hCtl

Botón*

pButton

HWND

hCtl

Sedit*

pEdit

HWND

hCtl

ListBox*

pListBox

HWND

hCtl

cComboBox*

pComboBox

HWND

hCtl

CScrollBar*

pScrollBar

HSZ

hszStr

CString

pStr

Puntos

pt;

CPoint

pt;

Tamaño

Tamaño;

CTamaño

Tamaño;

Rectángulo

rect

CRect

rect

Convención general de nomenclatura de prefijos

Prefijo

Tipo

Ejemplo

C

Categoría o estructura

CDocument, CPrintInfo

m_

Variable miembro

m_pDoc, m_nclient

Nomenclatura del identificador de biblioteca

Identificador

Valor y significado

u

ANSI(N) ​​​​o Unicode(U)

d

Depurar o liberar: D = depurar; ignorar los identificadores liberados.

Convención de nomenclatura de bibliotecas de vínculos dinámicos

Nombre

Tipo

_AFXDLL

Biblioteca de vínculos dinámicos (DLL) única versión de WINAPI

WINAPI

Funciones proporcionadas por Windows

Convención de nomenclatura de macros de Microsoft MFC

Nombre

Escriba

_AFXDLL

La única versión de la biblioteca de vínculos dinámicos (DLL).

_ALPHA

Compile sólo para procesadores DEC Alpha.

_DEBUG

Versión de depuración que incluye diagnóstico.

_MBCS

Compila el juego de caracteres multibyte

_UNICODE

Abre Unicode en la aplicación.

AFXAPI

Funciones proporcionadas por MFC

Reciclaje

Funciones recuperadas mediante punteros

La nomenclatura húngara es Estándares de nomenclatura en programación. El principio básico es: nombre de variable = atributo + tipo + descripción del objeto. El nombre de cada objeto debe tener un significado claro y puede ser el nombre completo o parte del nombre del objeto. La denominación debe ser fácil de recordar y comprender. Es importante garantizar la coherencia del nombre.

Por ejemplo, el nombre del formulario se puede abreviar como frm en la nomenclatura húngara. Cuando la variable del formulario se llama Switchboard, el nombre completo de la variable debe ser frmSwitchboard. De esta manera, es fácil ver por el nombre de la variable que el panel de conmutación es un formulario. Asimismo, si el tipo de variable es una etiqueta, debe llamarse lblSwitchboard. Se puede ver que la nomenclatura húngara es muy fácil de recordar y hace que los nombres de las variables sean muy claros y fáciles de entender, lo que mejora la legibilidad del código y facilita la comunicación entre programadores.

Esta técnica de nomenclatura fue propuesta por Charles Simonyi, un hábil programador de Microsoft nacido en Hungría. A las personas que trabajaron con él en Microsoft se les enseñó a utilizar esta convención. Todo es normal para ellos. Pero para las personas ajenas al equipo del proyecto dirigido por Simonyi, esto era extraño. Pensaron que era una expresión estereotipada, incluso porque estaba escrita en húngaro. Desde entonces, este método de denominación se denomina nomenclatura húngara. Se dice que este método de denominación fue inventado por un programador húngaro llamado Charles Simonyi. Posteriormente, permaneció en Microsoft durante varios años y este método de denominación se extendió por el mundo a través de varios productos y documentos de Microsoft. Hoy en día, la mayoría de los programadores utilizan esta nomenclatura hasta cierto punto, independientemente del software que utilicen para el desarrollo. El punto de partida de este método de denominación es combinar nombres cuantitativos en el orden de: atributo + tipo + descripción del objeto, de modo que los programadores tengan una comprensión intuitiva del tipo de variable y otros atributos al crear variables.

La siguiente es la convención de nomenclatura de variables HN, algunas de las cuales son mis preferencias personales:

Sección de propiedades

Variables globales g_

Constantes

c_

Variables miembro de clase C++

m_

Variables estáticas

s_

Parte tipo

Aguja

p

Función

Función [matemática]

No válida

v

Manejo

h

Largo

l

Booleano

b

Coma flotante (a veces llamado archivo)

f

Palabra doble

Ancho desarrollado (abreviatura de Ancho desarrollado)

Cadena

Tamaño (abreviatura de tamaño)

Entero corto

n

Coma flotante de doble precisión

d

Contar

c (normalmente cnt)

Carácter; letra

Ch (normalmente c)

Entero

I (normalmente n)

bytes

palabra pasada

w

Tipo real

r

Sin símbolo

u

Parte de descripción

Más alto

Máximo

Mínimo

Hokkien

Inicialización

Inicialización

p>

Variable temporal

Temperatura

Objeto de origen

Science Research Council

Objeto de destino

Plataforma de software para simulación de entornos de edificios y sistemas HVAC

Aquí hay algunos ejemplos:

Hwnd: h es una descripción de tipo, que representa un identificador, wnd es una descripción de objeto variable, que representa una ventana, por lo que Hwnd representa el identificador de la ventana;

PFNeatapple: PFN es una descripción de tipo, que representa un puntero a una función, y EATAPL es una descripción de objeto variable, por lo que representa una variable de puntero de función que apunta a la función EATAPL.

G _ Cch: G _ es una descripción de atributo, que representa una variable global. C y ch son el tipo de recuento y el tipo de carácter respectivamente, y juntos representan el tipo de variable. La descripción del objeto se ignora aquí, por lo que representa una variable global que cuenta el número de caracteres.