Hallo,
ich verwende den BCB 2006 und habe gelesen, das man auch eigene Templates in den BCB 2006 einfügen kann. In der Hilfe habe ich auch eine Anleitung gefunden. Nachdem ich es so gemacht habe wie beschrieben, gibt es aber KEIN neues Template!
Was mache ich falsch?
Hallo
hättest du deine Frage präzißer gestellt, das du von deiner eigenen App sprichst, dann hätte ich dir da das gleich sagen können
Also lieber keine wüsten Vermutungen über WinAPI-Funktionen anstellen, sondern lieber eine ordentliche Frage stellen.
bis bald
akari
Jansen schrieb:
Das hat a) absolut nichts mit dem Thema des Threads zu tun, gehört also in jedem Fall in einen eigenen Thread, und hat b) auch nichts mit dem C++Builder zu tun, für solche Fragen gibt es hier z.B. "Rund um die Programmierung" oder besser noch "Rund um den PC".
tut mir leid mach ich sofort
Hallo,
erst mal DANKE für die Antwort. Ich habe ein Sleep(100) eingebaut und siehe da, nur noch eine CPU-Auslastung von 25-40%.
Der cast (TThreadMethod) ist dabei imo überflüssig. ...
Das muß ich machen, da ich den BCB2006 benutze...
Danke
Hallo
Die Windows-Messages kannst du über die hier beschriebenen Methoden abfangen.
Alles was aber nicht WinAPI-abhängig ist, sondern reine VCL, kannst du nicht allgemein abfangen.
bis bald
akari
Ich glaube ich habe mich etwas blöd ausgedrückt.
Und der Cod-Schnipsel den ich gepostet habe war auch nicht gerade sinnvoll.
Also am besten wird es ein ich erkläre euch was ich programmieren will. Vielleicht habe ich ja völlig falsch angefangen.
Ich bin dabei ein kleines Raumschiffspiel zu programmieren.
Bis jetzt habe ich die Bewegung des raumschiffes programmiert:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int p1b;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (GetAsyncKeyState(VK_UP) < 0)
{
P1->Picture->LoadFromFile("o.jpg");
P1->Top = P1->Top - p1b;
}
if (GetAsyncKeyState(VK_DOWN) < 0)
{
P1->Picture->LoadFromFile("u.jpg");
P1->Top = P1->Top + p1b;
}
if (GetAsyncKeyState(VK_RIGHT) < 0)
{
P1->Left = P1->Left + p1b;
P1->Picture->LoadFromFile("r.jpg");
}
if (GetAsyncKeyState(VK_LEFT) < 0)
{
P1->Left = P1->Left - p1b;
P1->Picture->LoadFromFile("l.jpg");
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
p1b = 4;
Form1->DoubleBuffered=true;
}
//---------------------------------------------------------------------------
(l.jpg zeigt das Raumschif bei dem Vorne auf der linken Seite ist)
(r.jpg zeigt das Raumschif bei dem Vorne auf der rechten Seite ist)
(o.jpg zeigt das Raumschif bei dem Vorne auf der oberen Seite ist)
(u.jpg zeigt das Raumschif bei dem Vorne auf der unteren Seite ist)
Jetzt soll bei drücken der Schift-Taste ein Schuss ausgelöst werde.
Dazu habe ich mir folgendes überlegt:
Bei drücken der Schift-Taste wird ein neues TImage-Objekt erzeugt und ihm das Bild schuss.bmp zugewiesen.
Ein Timer prüft alle 10 Millisekunden jedes der schon erstellten Schuss Bilder durch.
Er prüft ob es vorhanden ist.
Wenn ja dann bewegt er es und frägt ab ob es ein Raumschiff getroffen hat.
Wenn ja dann zieht er dem Raumschiff Lebensenergie (in einer Variable
gespeichrt) ab un löscht das Schuss-Objekt.
Wenn nein dann fragt er ab ob es vielleicht den Rand der Form erreicht hat.
Wenn Ja dann löscht er es.
Schau erst einmal in der FAQ nach. Excel per OLE zu steuern sieht zunächst kompliziert aus, ist nicht ganz so wild wie es aussieht. Die grösste Hürde für mich war, dass ich mich mit dem Excel-Visual Basic nicht auskannte.
Ein caveat noch: es ist L-A-N-G-S-A-M
Wenns dir nur um den Zahlenexport geht, versuch bei dem Schreiben einer .CSV oder .XLS zu bleiben. FYI - Es gibt mindestens eine Komponente (kostenpflichtig, von TMS Software) die das .XLS-Dateiformat beherrscht.
hast du auch hier rein geschaut
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39160.html
Das ist in der Abteilung StringGrid.
Das ist bei deinem DBGrid fast das Gleiche, nur das der Event OnDrawColumnCell heißt.
Hab mal gesehen, daß in den ersten Parameter das gleiche reinkommt wie in den letzten.
also z.B.
DeinPicture->RegisterFileFormat(__classid(TBitmap),"bmp","Bitmap",__classid(TBitmap));
In Delphi gibts nur die letzten drei Parameter. kA, was der erste wirklich macht.