Oberfläche?

  • ich weiss nur das man den c code praktisch 1:1 rübernehmen kann. Also kann c und c++ garnicht so verschieden sein das man eins hassen muss... naja weiss nur das beide arschschwierig sind :P strings zusammen ketten ... 5 zeilen code (in rb machst du das in einem und es kommt noch einfach s1=s2+s3+"sonst nochwas"+chr(13) (noch eine neue zeile dazu))
  • stings undeutlich in rb. So nen quatsch. Was bei c/c++/obj-c und so weiter mit char *s; deklariert wird, wird in rb einfach mit Dim s as string gemacht. Aber ich begreife immer noch nicht wie man das mit obj-c und c++ tun soll! Man kann doch keine 2 programmiersprachen zusammen mixen... !
  • und ob das undeutlich ist. In C ist ein String eine reihe von zeichen, ein array. In RB ist es ein eigener Typ, der komischerweise auch noch als Objekt auf zahlen-operationen wie + gehorcht. Ich habe jahrelang RB gemacht und will nicht sagen, dass es nicht komfortabel ist. Aber es versaut dir jeden Stil.

    Und wie mischen? Einfach zwei Schichten anlegen, die unabhängig voneinander sind. Das eine ist die Programm-schicht und das andere die Interface-schicht. Das Programm muss alleine funktionieren, ohne irgendwelche zusätze. Und das Interface muss zwar auf das Programm (am besten über eine Schnittstelle) zugreifen können und aber auch austauschbar sein. Dann kannst du je nach OS einfach die Interface-module tauschen und halt auf Windows die Win-GUI compilieren, auf dem Mac die Mac-GUI. Die technische Seite ist dabei nicht schwer. Du musst deine .m dateien nur in .mm (Objective-C++) umbenennen und halt die Funktionen aus deinem Programm aufrufen. Was ist daran so schwer?

    Max
  • Original von mats
    naja weiss nur das beide arschschwierig sind :P strings zusammen ketten

    Ähm ja, in C ist es wirklich nicht komfortabel, weil C wurde entwickelt, um hardwarenah in einer Hochsprache programmieren zu können. Für objektorientierte Programmiersprachen wie C++, Objective-C, Java, ... trifft das aber nicht zu, weil es dafür bereits fertige String Klassen gibt.

    Original von mats
    ... 5 zeilen code (in rb machst du das in einem und es kommt noch einfach s1=s2+s3+"sonst nochwas"+chr(13) (noch eine neue zeile dazu))

    Gerade mit der String-Klasse von C++ kannst Du das fast genauso hin schreiben. Und wenn Dir noch was fehlt, dann erweiterst Du die Stringklasse einfach.

    Michael
  • Original von mats
    was daran schwer is? das ich es noch nie gemacht habe !!!! Wie mach ich das? wäre nämlich geil wenn ich das könnte. Dann könnte ich auf QT verzichten (kostet ja was...oder ich habe den link nicht gefunden) :P


    Naja, also erstmal schreibst du dir dein Programm. Und dann entwickelst du eine GUI. Um mal ein Stichwort zu nennen: MVC Model-View-Controller. Damit sollte man das gut umsetzen können. Also schreibst du dir für den Inhalt einen InterfaceController, der die Views mit den nötigen Informationen aus deinem Programm versorgt. Ein genaues Vorgehen kann man hier echt schwierig beschreiben, weil es halt nicht so einfach ist, wie n TextView mit daten zu füllen. Es gibt Leute, die haben Bücher über sowas geschrieben. Aber MVC ist da ein guter Ansatz. Schau mal ins Wiki, da musst du dir etwas die strenge Cocoa-Orientierung des Artikels wegdenken und du kannst es auch auf Windows einsetzen...

    HTH, sonst schiebe ich was nach...

    Max
  • im moment hab ich einfach ein problem... Die oberfläche kann ich die einfach grafisch zusammenstellen oder muss ich das in code machen(dann wäre ich ja wieder am anfang)? Gibts irgendwie darüber docu's und tutorials? Wäre nämlich noch praktisch, kanns im moment nicht so ausprobieren (hab die beta von tiger installiert und da passierts das xcode ab und zu abstürtzt)
  • tiger bekommen zum einen nur registrierte developer mit select mitgliedschaft - ich weiß nicht, ob du es überhaupt haben dürftest ;) Zum anderen installiert man sowas immer auf eine zweite Festplatte/Partition, damit man mit der finalen version des älteren systems noch vernünftig arbeiten kann...

    Und sonst schiebst du dir die GUI einfach im IB zusammen und schreibst dir dann deine Controllerklassen für das Interface. Wenn du es extrem elegant machen willst, dann schreibst du die Controller so, dass sie nur als eine Art Proxy oder Adapter fungieren und zusätzlich noch Bindings-kompilant sind. Da schlägst du viele Fliegen mit einer Klappe :)

    HTH, m
  • ok erwishct ich darf ned. Aber mein alter vati darf das =) der is ein Apple developer :P und ich auhc ja auch ein bisschen... werde aber bald möglichst wieder auf panther wechseln (soviel besser is tiger garned). Aber weist du was. Ich glaube ich bleibe beim Qt (wenn ich es mal hätte!!!) das is einiges weniger kompliziert als das MVC
  • Original von mats
    als ich von strings sprach meinte ich char * ned die <string.h> klasse ;) egal

    char * ist aber streng genommen kein String, sondern nur ein Zeiger auf ein char. REALbasic hat doch bestimmt einen entsprechenden Datentypen, oder? C kennt somit eigentlich gar keine Strings. C++ bringt in der Standard-Library aber eine Stringklasse mit. Vom Prinzip her ist das nix anderes, als bei REALbasic. Wenn Du also schon vergleichen willst, dann vergleiche richtig. ;)

    Original von mats
    wo hast du die url gefunden???? Ich finde einfach nix! Nur die beta aber das kann ja nix sein...

    Meinst Du jetzt die Open Source Variante von Qt? Die gibt's hier. Ist eigentlich nicht schwer zu finden.

    Michael
  • lol neee er hat zwar Hunder java bücher und Codewarrior und mattlab und und und aber er is kein "programmierer". Hat sihc bei apple einfach angemeldet als developer (50.- am anfang und dann is man mitglied. Kriegt man immer schon alle updates). Naja ich habe jetzt wieder auf panther gewechselt. Werde mal das QT durch die mangel nehmen :P