...ähm, ich benutze aber nicht den Freeware Compiler von Borland.
und zu den zeigern - ein Zeiger ist doch eine Speicheradresse einer Variablen.
Und warum sollte die Speicheradresse einer Struktur nicht in einen Integer Wert passen ? Ich meine es giebt doch nur 65000 Tausen (oder so...) Speicheradressen, oder hab ich da jetzt was Falsch verstanden. ? und für die Zahl 65000 reicht eine int Variable meines Wissen sehr wohl aus. Und die Speicheradresse für eine Struktur, ist doch genau die selbe Speicheradresse wie für einen Char. nur das innerhalb dieses Speicherbereichs der Struktur, mehrere Segmente belegt sind, als das bei char der fall ist.
Wenn ich was Falsch verstanden habe, erklärs mir doch bitte einer, oder gebe mir einen Tip wo es dazu GUTES lesematerial giebt. (online)
Meine Bisherigen Gedankengänge zu Speicheradressen und Segmenten stammen aus einem Assemblerbuch. Da wurde das so in der Art erklärt.
Hallo!
Ich habe mir im C++Builder 5 einen FTP Client programmiert.
Ich habe nur ein Problem, wenn ich auch den Button mit "Verzeichnis" klicke,
der mir den Inhalt des aktuellen Verzeichnisses in einem String Grid
anzeigen sollte kommt eine Fehlermeldung:
A list command is already being processed
Code vom Verbinden-Button:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
NMFTP1->List();
}
Code, wo der Fehler sein sollte:
void __fastcall TForm1::NMFTP1Success(TCmdType Trans_Type)
{
int I;
switch(Trans_Type)
{
case cmdList:
{
for (I = 0; I <= (StringGrid1->ColCount - 1);I++)
StringGrid1->Cols[I]->Clear();
StringGrid1->RowCount = NMFTP1->FTPDirectoryList->name->Count;
StringGrid1->ColCount = 4;
StringGrid1->Cells[0][0] = "Dateiname";
StringGrid1->Cells[1][0] = "Größe";
StringGrid1->Cells[2][0] = "Änderungsdatum";
StringGrid1->Cells[3][0] = "Attribute";
for (I = 0; I <= (NMFTP1->FTPDirectoryList->name->Count - 1); I++)
{
StringGrid1->Cells[0][I+1] =
NMFTP1->FTPDirectoryList->name->Strings[I];
StringGrid1->Cells[1][I+1] =
NMFTP1->FTPDirectoryList->Size->Strings[I];
StringGrid1->Cells[2][I+1] =
NMFTP1->FTPDirectoryList->ModifDate->Strings[I];
StringGrid1->Cells[3][I+1] =
NMFTP1->FTPDirectoryList->Attribute->Strings[I];
}
}
case cmdChangeDir:
{
Memo1->Lines->Add("Verzeichniswechsel erfolgt");
NMFTP1->List();
}
case cmdMakeDir: Memo1->Lines->Add("Verzeichnis erstellt"); //Er
zeigt an, dass hier der Fehler sein sollte.
case cmdRemoveDir: Memo1->Lines->Add("Verzeichnis gelöscht");
case cmdDelete: Memo1->Lines->Add("Datei gelöscht");
case cmdRename: Memo1->Lines->Add("Datei umbenannt");
case cmdReInit: Memo1->Lines->Add("Reinitialisierung erfolgt");
case cmdCurrentDir: Memo1->Lines->Add("Aktuelles Verzeichnis
angezeigt");
}
}
Ich hoffe, ihr könnt mir so rasch als möglich helfen.
Mfg Jürgen
cd9000 , vielen vielen Dank !!!, Du bist mein Retter, es funktioniert.
Wo das hingehört, da hab ich immer so meine schwierigkeit, bin ja schließlich noch im Lernstadium, aber ich werde mich dran halten.
Danke nochmal !!!
Hallo Leute,
ich benutze den Borland Builder C++ 5.0.Ich speicher zunächst Daten (die Daten kommen von einem 8bit Multiplexer) die ich über RS232 einlese in eine Datei, das klapp (Welcher Dateityp ist günstig ??)
Ich möchte nun aber auch die Daten aus dieser Datei in mein Programm einlesen können um Sie dann weiter zu verarbeiten Tabelle/Diagramm.
Wie mach ich das, bitte ?, Hilfe wäre sehr nett !!
Danke im voraus.
gruß
Also ich kenne keinen BCB 4.4. Du meinst wohl Borland C++. Fragen zum Borland C++ gehören nach Andere Compiler.
[ Dieser Beitrag wurde am 28.11.2002 um 20:04 Uhr von Eßer editiert. ]
hallo leute ...
auf der Seite von PalmOS wird der SDK 5 angeboten. Mit dem Hinweis dass, die
kostenlosen PRC-Tools nur geeignet sind um mit SDK 4 oder früher zu arbeiten.
Jetzt wird aber bei sourceforge die PRC-Tools 2.2 angeboten, welche auch
mit einem ARM-Compiler ausgestatte sind. Ab PalmOS 5 werden ARM-Prozessoren
eingesetzt.
Nun habe ich die Tools 2.2 kann zwar mit den arm-palmos-gcc kompilieren, aber
beim Linken fehlt die crt0.o Datei, welche tatsächlich nicht vorhanden ist.
Hat noch jemand die Tools und kann mir helfen, evtl. auch weiterer Erfahrungsaustauch. Ich bin erst seit weinigen Tagen in die PalmOS- Programmierung mit c/c++ eingestiegen.
Alternativ könnte man den CodeWarrior bestellen, welcher schon jetzt die
ARM-Prozessoren voll unterstützen soll laut PalmOs.com.
Nur wollte ich gern erstmal ohne kosten reinschnuppern.
mfg
RB
Also Turbo C++ 1.0 ( ) kannst du dir bei http://bdn.borland.com unter Museum runterladen.
Ich hab die Version die du haben willst noch auf Festplatte, und koennte sie die schicken, aber das ist ja leider illegal.
Schau dir mal mein Profil an
Also das ist eigentlich ne Sache, die man wissen sollte, wenn man einen Compiler ohn zugehörige IDE benutzt.
Der Compiler erzeugt eine Objektdatei. diese enthält sämtlichen Quellcode der entsprechenden Datei als Maschinencode. Dort, wo man Fremdfunktionen wie printf(), cout oder selbstgebastelte hat, stehen nur Verweise, was für Funktionen wie aufgerufen werden. Der Linker schnappt sich diese, sucht in den anderen Dateien eine entsprechende Funktion, hängt die an das Hauptprogramm und setzt dann einen entsprechenden Verweis an den richtigen Stellen darauf. Nun hat man erst sein Programm.
cYa
DjR
Original erstellt von Shade Of Mine:
[quote]Original erstellt von kingruedi:
[qb]ob VC++ die beste IDE hat, darüber lässt sich sicher streiten
Hast du je den VC++ verwendet?[/QB][/QUOTE]
Ja! Mehrere Monate sogar, ich fand es grässlich, einengend und unbequem, war übrigens mit ein Grund zu Linux zu wechseln.
Die Kylix IDE finde ich da schon besser, aber ich mag IDEs nicht so gerne.
Hol dir einen neuen Compiler. Deiner ist ja uralt.
Und mach am besten gleich ein Windows programm, kein DOS. Dann geht es nämlich viel einfacher und ganz ohne Probleme; nur halt eben ohne cout/cin.
Also es hat funktioniert!
Hier noch mal die Zusammenfassung:
Ordner in Cpp umbenannt.
Autoexec geändert (Anstatt Programming Progra~2 !!!)
In Code-Genie Initial Dir leer lassen.
Und alles klappt bestens! Das wichtigste war wahrscheinlich der Autoexec Eintrag, am anfang kennt der ja noch gar keine Win32 Ordnernamen!
Vielen Dank nochmal besonders an Ghost_Errror, die Page www.ghostpage.de ist auch sehr hilfreich!
Mfg
Liganic
[ Dieser Beitrag wurde am 17.11.2002 um 21:59 Uhr von Liganic editiert. ]
Once you have the object files ready, use the ar ("Archiver") utility to create a library, let's say we'll call it libacme.a, like this:
ar rvs libacme.a file1.o file2.o file3.o ...
The rvs flags tell ar to put named files in to the library, replacing any previous versions of these files if necessary, print the names of object files as it puts them into the library, and add an object-file index to the library, which makes it link faster.