Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Editar un buffer

"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:14:33.
Responder Con Cita
  #2  
Antiguo 20-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:14:46.
Responder Con Cita
  #3  
Antiguo 20-04-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
yo pienso que es un dbGrid conectado a una tabla, y que al hacer click sobre el registro abre una pantalla asociada a esta tabla que permite editar el registro activo, o sea, el que esta seleccionado en el grid.

Pero esto es pura suposicion ya que no se mucho de IntelHEx
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #4  
Antiguo 20-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:15:00.
Responder Con Cita
  #5  
Antiguo 20-04-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por JoseFco Ver Mensaje
Hola eduarcol.

Gracias por la respuesta.tendre que buscarme el dbGrid entonces, porque en el delphi 7 este solo tengo StringGrid y DrawGrid.
Ya tengo tarea para hoy con el DbGrid entonces. A San Google entonces.

Un Saludo.
busca una en delphi una pestaña que se llama datacontrols
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #6  
Antiguo 20-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:15:13.
Responder Con Cita
  #7  
Antiguo 20-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:15:28.
Responder Con Cita
  #8  
Antiguo 20-04-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
No sé yo si el DbGrid es realmente el que necesitas eh! Ya que el DbGrid sirve para mostrar datos de una base de datos.

Creo que con el StringGrid ibas bien.

Saludos.
Responder Con Cita
  #9  
Antiguo 20-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:15:44.
Responder Con Cita
  #10  
Antiguo 20-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:15:58.
Responder Con Cita
  #11  
Antiguo 21-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:16:15.
Responder Con Cita
  #12  
Antiguo 21-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:16:29.
Responder Con Cita
  #13  
Antiguo 21-04-2008
Avatar de Dedalo
Dedalo Dedalo is offline
Miembro
 
Registrado: abr 2008
Ubicación: Albacete (España)
Posts: 32
Poder: 0
Dedalo Va por buen camino
Yo eso lo solucioné con un StringGrid.

El fuente de la ventana que manipula los datos es el siguiente:

Cita:
unit VerDatos;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, StdCtrls, Buttons, ExtCtrls, Pic16f84;

type
TFverDatos = class(TForm)
Panel6: TPanel;
BBcancelar: TBitBtn;
BBaceptar: TBitBtn;
Panel3: TPanel;
Panel1: TPanel;
SGeprom: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure BBaceptarClick(Sender: TObject);
procedure BBcancelarClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
Pic:^Tpic;
public
procedure Entrar(var PicRef:TPic);
end;

implementation
{$R *.DFM}

procedure TFverDatos.FormCreate(Sender: TObject);
var
i:Integer;
begin
for i:=0 to 3 do SGeprom.cells[0,i]:=IntToHex(i*16,2);
end;

procedure TFverDatos.Entrar(var PicRef:TPic);
var
i,j:Integer;
begin
Pic:=@PicRef;
for i:=0 to 3 do for j:=0 to 15 do SGeprom.cells[j+1,i]:=IntToHexPic.MemDatos[i*16+j],2);
Show;
end;

procedure TFverDatos.BBaceptarClick(Sender: TObject);
var
i,j,k:Integer;
begin
for i:=0 to 3 do for j:=0 to 15 do Val('$'+SGeprom.cells[j+1,i],Pic.MemDatos[i*16+j],k);
end;

procedure TFverDatos.BBcancelarClick(Sender: TObject);
begin
Close;
end;

procedure TFverDatos.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;

end.
Esta hecho para ver la tabla de datos de la eprom del PIC16F84, pero aumentando los numeros vale para cualquier tabla de datos en hexadecimal.
Responder Con Cita
  #14  
Antiguo 21-04-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Hola!
Esto me parecio interesante:

Código:
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, StdCtrls, Buttons, ExtCtrls, Pic16f84;
esa unidad como ¿la conseguiste o creaste para añadirla a Delphi?

Gracias.
Responder Con Cita
  #15  
Antiguo 21-04-2008
Avatar de Dedalo
Dedalo Dedalo is offline
Miembro
 
Registrado: abr 2008
Ubicación: Albacete (España)
Posts: 32
Poder: 0
Dedalo Va por buen camino
Cita:
Empezado por FGarcia Ver Mensaje
Hola!
Esto me parecio interesante:

Código:
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, StdCtrls, Buttons, ExtCtrls, Pic16f84;
esa unidad como ¿la conseguiste o creaste para añadirla a Delphi?

Gracias.
la hice yo. En realidad me hice todo, pondré el programa completo por trocitos para no llenar el hilo con codigo.
Responder Con Cita
  #16  
Antiguo 21-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:16:49.
Responder Con Cita
  #17  
Antiguo 22-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:17:01.
Responder Con Cita
  #18  
Antiguo 22-04-2008
Avatar de Dedalo
Dedalo Dedalo is offline
Miembro
 
Registrado: abr 2008
Ubicación: Albacete (España)
Posts: 32
Poder: 0
Dedalo Va por buen camino
Este es el fichero PIC16F84.pas. Es el que cambio en el compilador al cambiar de procesador. Tengo varios, segun el procesador para el que vaya a compilar.


Código Delphi [-]
unit Pic16F84;
interface
uses SysUtils;
type
 Tpic = Record
  MemPrograma:array[0..1023] of Word;
  MemDatos:array[0..63] of Word;
  Id:array[0..3] of Word;
  Configuracion:Word;
  MemProgramaOk:Boolean;
  MemDatosOk:Boolean;
  ConfiguracionOk:Boolean;
 end;
const
 LoadConfiguration  = 0;
 Desconocido1   = 1;
 LoadProgramMemory  = 2;
 LoadDataMemory   = 3;
 ReadProgramMemory  = 4;
 ReadDataMemory   = 5;
 IncrementAddress  = 6;
 Desconocido7   = 7;
 BeginEraseProgramming = 8;
 BeginProgrammingOnly = 24;
 BulkEraseProgram  = 9;
 BulkEraseData   = 11;
function ConvierteToken(Token:String):Integer;
function DecodificaInstruccion(Opcode:Word):String;
function ParametrosInstruccion(Instruccion:String):Integer;
implementation
function ConvierteToken(Token:String):Integer;
begin
// Tokens propios del procesador
 if UpperCase(Token)=  'CLRW'   then Result := $0100
 else if UpperCase(Token)= 'CLRWDT' then Result := $0064
 else if UpperCase(Token)= 'NOP'    then Result := $0000
 else if UpperCase(Token)= 'RETURN' then Result := $0008
 else if UpperCase(Token)= 'RETFIE' then Result := $0009
 else if UpperCase(Token)= 'SLEEP'  then Result := $0063
 else if UpperCase(Token)= 'OPTION' then Result := $0062
 else if UpperCase(Token)= 'TRIS'   then Result := $0060
 else if UpperCase(Token)= 'MOVWF'  then Result := $0080
 else if UpperCase(Token)= 'CLRF'   then Result := $0180
 else if UpperCase(Token)= 'ADDLW'  then Result := $3E00
 else if UpperCase(Token)= 'ANDLW'  then Result := $3900
 else if UpperCase(Token)= 'IORLW'  then Result := $3800
 else if UpperCase(Token)= 'MOVLW'  then Result := $3000
 else if UpperCase(Token)= 'RETLW'  then Result := $3400
 else if UpperCase(Token)= 'XORLW'  then Result := $3A00
 else if UpperCase(Token)= 'SUBLW'  then Result := $3C00
 else if UpperCase(Token)= 'CALL'   then Result := $2000
 else if UpperCase(Token)= 'GOTO'   then Result := $2800
 else if UpperCase(Token)= 'ADDWF'  then Result := $0700
 else if UpperCase(Token)= 'ANDWF'  then Result := $0500
 else if UpperCase(Token)= 'COMF'   then Result := $0900
 else if UpperCase(Token)= 'DECF'   then Result := $0300
 else if UpperCase(Token)= 'DECFSZ' then Result := $0B00
 else if UpperCase(Token)= 'INCF'   then Result := $0A00
 else if UpperCase(Token)= 'INCFSZ' then Result := $0F00
 else if UpperCase(Token)= 'IORWF'  then Result := $0400
 else if UpperCase(Token)= 'MOVF'   then Result := $0800
 else if UpperCase(Token)= 'RLF'    then Result := $0D00
 else if UpperCase(Token)= 'RRF'    then Result := $0C00
 else if UpperCase(Token)= 'SUBWF'  then Result := $0200
 else if UpperCase(Token)= 'SWAPF'  then Result := $0E00
 else if UpperCase(Token)= 'XORWF'  then Result := $0600
 else if UpperCase(Token)= 'BCF'    then Result := $1000
 else if UpperCase(Token)= 'BSF'    then Result := $1400
 else if UpperCase(Token)= 'BTFSC'  then Result := $1800
 else if UpperCase(Token)= 'BTFSS'  then Result := $1C00
// Tokens del compilador (iguales para cualquier procesador)
 else if UpperCase(Token)= 'EQU'    then Result := -2
 else if UpperCase(Token)= 'ORG'    then Result := -3
 else if UpperCase(Token)= 'DB'     then Result := -4
 else if UpperCase(Token)= 'END'    then Result := -5
 else Result:=-1;
end;
function DecodificaInstruccion(Opcode:Word):String;
var
 d,f,b,k,kl:String;
begin
 Result:='???';
 f:='$'+IntToHex(Opcode and $7F,2);
 if (Opcode and $80)=0 then d:='W' else d:='F';
 b:='$'+IntToHex((Opcode shr 7) and $7,1);
 k:='$'+IntToHex(Opcode and $ff,2);
 Kl:='$'+IntToHex(Opcode and $7ff,2);
 case Opcode shr 7 of
  $01      :Result:='MOVWF '+ f;
  $02      :Result:='CLRW';
  $03      :Result:='CLRF '+ f;
  $04,$05  :Result:='SUBWF '+ f+','+d;
  $06,$07  :Result:='DECF '+ f+','+d;
  $08,$09  :Result:='IORWF '+ f+','+d;
  $0A,$0B  :Result:='ANDWF '+ f+','+d;
  $0C,$0D  :Result:='XORWF '+ f+','+d;
  $0E,$0F  :Result:='ADDWF '+ f+','+d;
  $10,$11  :Result:='MOVF '+ f+','+d;
  $12,$13  :Result:='COMF '+ f+','+d;
  $14,$15  :Result:='INCF '+ f+','+d;
  $16,$17  :Result:='DECFSZ '+ f+','+d;
  $18,$19  :Result:='RRF '+ f+','+d;
  $1A,$1B  :Result:='RLF '+ f+','+d;
  $1C,$1D  :Result:='SWAPF '+ f+','+d;
  $1E,$1F  :Result:='INCFSZ '+ f+','+d;
  $20..$27 :Result:='BCF '+ f+','+b;
  $28..$2F :Result:='BSF '+ f+','+b;
  $30..$37 :Result:='BTFSC '+ f+','+b;
  $38..$3F :Result:='BTFSS '+ f+','+b;
  $40..$4F :Result:='CALL '+ kl;
  $50..$5F :Result:='GOTO '+ kl;
  $60..$67 :Result:='MOVLW '+ k;
  $68..$6F :Result:='RETLW '+ k;
  $70,$71  :Result:='IORLW '+ k;
  $72,$73  :Result:='ANDLW '+ k;
  $74,$75  :Result:='XORLW '+ k;
  $76,$77  :Result:='???';
  $78..$7B :Result:='SUBLW '+ k;
  $7C..$7F :Result:='ADDLW '+ k;
  $00:
  begin
   if (Opcode and $3FF8)=$060 then
          begin
    Result:='TRIS '+IntToHex(Opcode and 7,2);
    Exit;
   end;
       case Opcode of
    $000,$020,$040,$060:Result:='NOP';
    $064:Result:='CLRWDT';
    $009:Result:='RETFIE';
    $008:Result:='RETURN';
    $063:Result:='SLEEP';
    $062:Result:='OPTION';
   end;
  end;
 end;
end;
function ParametrosInstruccion(Instruccion:String):Integer;
begin
 case ConvierteToken(Instruccion) of
  $0100,$0064,$0000,$0008,$0009,$0063,$0062: Result:=0; // Sin Operandos
  $0060: Result:=1;     // 0 <= f <= 7
  $0080,$0180: Result:=2;     // 0 <= f <= 127
  $3E00,$3900,$3800,$3000,$3400,$3A00,$3C00: Result:=3; // 0 <= k <= 255
  $2000,$2800: Result:=4;     // 0 <= k <= 2047
  $0700,$0500,$0900,$0300,$0B00,$0A00,$0F00,$0400,$0800,
  $0D00,$0C00,$0200,$0E00,$0600: Result:=5;  // 0 <= f <= 127 y W ó F
  $1000,$1400,$1800,$1C00: Result:=6;   // 0<= f <= 128 / 0 <= b <= 7
  else Result:=-1;
 end;
end;
end.
Responder Con Cita
  #19  
Antiguo 23-04-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Gracias por la informacion Dedalo. Lo voy a estudiar para continuar aprendiendo.
Responder Con Cita
  #20  
Antiguo 23-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:17:22.
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
Bitmap buffer fitolanga Gráficos 4 21-04-2007 15:58:29
Rececpción de buffer incerrecta ?¿ Gagiel Internet 3 05-03-2007 11:07:38
Leer buffer de teclado dieleo Varios 0 12-02-2007 19:23:19
Texto del buffer del sistema calogero Varios 1 07-02-2007 18:22:16
Problema con Double Buffer guillonet C++ Builder 0 29-08-2006 19:26:22


La franja horaria es GMT +2. Ahora son las 07:56:39.


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