Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Delphi a c++

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Delphi a c++ Responder citando

Por favor a ver si alguien me puede traducir este código:
Código:

procedure TWork_form.Button4Click(Sender: TObject);
var  wd:variant;
    rang:variant;
   table:variant;
    num_rows, num_columns:integer;
    i,j:integer;
begin
 if not(DBGrid1.DataSource.DataSet.IsEmpty)
  then
   begin
    num_rows:=DBGrid1.DataSource.DataSet.RecordCount;
    num_columns:=DBGrid1.DataSource.DataSet.FieldCount;
    wd:=CreateOleObject('Word.application');
    wd.visible:=false;
    wd.documents.add;
    rang:=Wd.ActiveDocument.Range(Wd.ActiveDocument.Range.End-1,
                                Wd.ActiveDocument.Range.End-1);
    Wd.ActiveDocument.Tables.Add(Range:=Rang, NumRows:=num_rows, NumColumns:=num_columns);
    i:=1;
    table:=wd.activedocument.tables.item(1);
    while not (DBGrid1.DataSource.DataSet.eof) do
     begin
      for j:=0 to num_columns-1 do
       begin
        table.cell(i, j+1).range.text:=DBGrid1.DataSource.DataSet.Fields[j].asstring;
       end;
       DBGrid1.DataSource.DataSet.next;
       inc(i);
     end;
   end;
 
  wd.ActiveDocument.SaveAs(extractfilepath(application.ExeName)+'test1.doc');
  wd.Application.Documents.Close;
  wd.Quit;
  wd:=UnAssigned;
 
end;

Está en Delphi y lo necesito en c++.
Muchas gracias a quien pueda ayudarme.
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Esto es lo que mi conocimiento alcanza a traducir :roll: agrega un

TWordApplication

[code]
Variant rang;
Variant table;
int num_rows, num_columns;
int i;
if(!DBGrid1->DataSource->DataSet->IsEmpty()){
num_rows = DBGrid1->DataSource->DataSet->RecordCount;
num_columns = DBGrid1->DataSource->DataSet->FieldCount;
rang = wd->ActiveDocument->Range(wd->ActiveDocument->Range->End-1,
wd->ActiveDocument->Range->End-1);
wd->ActiveDocument->Tables->Add(Range = Rang, NumRows = num_rows, NumColumns = num_columns);
i = 1;
table = wd->ActiveDocument->Tables->Item(1);
while(!DBGrid1->DataSource->DataSet->Eof){
for(int j = 0;j <num_columns - 1 ; j ++ ) {
Cell( i , j + 1) -> Range -> Text = DBGrid1->DataSource->DataSet->Fields[j]->AsString;
}
DBGrid1->DataSource->DataSet->Next();
inc(i);
}
}

wd->ActiveDocument->SaveAs(AxtractFilePath(Application->ExeName) + "Test1.doc");
wd->Application->Documents->Close();
wd->Quit;
wd = UnAssigned;[/code]
Esta linea no la entiendo espero te sirva

[code] rang = wd->ActiveDocument->Range(wd->ActiveDocument->Range->End-1,
wd->ActiveDocument->Range->End-1);[/code]

En este link hablan de tablas

[url]https://cppbuilder.es/viewtopic.php?t=13469&highlight=word[/url]
_________________
[code:1]//----------------Att Gabriel----------------
void Gracias(){
if (Respuesta == true){
Showmessage("Muchisimas Gracias!")
else
Showmessage("Ojala te sirva... ^_^ ");
}[/code:1]


Ultima edición por vizca321 el Mar 28 Abr, 2015 6:00 am, editado 4 veces
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Gracias vizca321 pero sigue sin funcionar, me da el siguiente error "Pointer to structure required on left side of -> or ->*", creo que es porque hay demasiadas flechas. Nada seguiré esperando.
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Corregí algunas cosas se me borraba codigo no creo que te de la solucion pero talvez puedas avanzar

Tugui escribió:
"Pointer to structure required on left side of -> or ->*"


Es la linea que no entiendo en el codigo despues del range no hay puntero es lo que indica creo o algo asi Embarassed
_________________
[code:1]//----------------Att Gabriel----------------
void Gracias(){
if (Respuesta == true){
Showmessage("Muchisimas Gracias!")
else
Showmessage("Ojala te sirva... ^_^ ");
}[/code:1]
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.