Aus PrintDialog1 ausgewählten Drucker auslesen



  • Danke für die rasche Antowrt.

    Weißt Du, ich kenne mich noch kaum aus mit TStrings.
    Kannst Du mir vielleicht ein wenig Code posten, wie Du den, gerade mit einer PrintDialog box eingestellten, Drucker ausliest und als String in eine Variable z.B. DruckerName speicherst.

    Ich möchte nämlich dann einer unsichtbaren Excelsheet den Befehl "PrintOut" geben, und den jeweiligen Drucker einstellen.
    Type sollte also OleString sein oder AnsiString..

    Danke
    Puphol



  • olApp.OlePropertySet("ActivePrinter",Printer()->Printers->Strings[Printer()->PrinterIndex]);

    Sollte funktionieren 🙂 *hoff* 😉



  • Danke <mike>,
    jetzt funktioniert es einwandfrei!!!

    Hab ja gesagt, es müsste ziemlich einfach sein.

    Was bedeuten eigentlich die eckigen Klammern [] in c++ ??

    mfg
    Puphol



  • @ <mike>

    Nochmal,
    Könnte ich dem "AktivePrinter" eventuelle auch nur den Printerindex übergeben??

    Der Code von Dir funktioniert zwar, aber wenn ich Drucken will, sagt der : "Unbekannter Name" .
    Das heißt dann sicher, dass ich von PrintDialog einen anderen String kriege, als was ich dem ExcelPrintDialog übergebe mit
    olApp.OlePropertySet("ActivePrinter",Printer()->Printers->Strings[Printer()->PrinterIndex]);

    Thanx
    Puphol



  • Original erstellt von puphol:
    **
    Was bedeuten eigentlich die eckigen Klammern [] in c++ ??
    **

    du willst uns jetzt aber hinters Licht führen oder ? 😮



  • Die [] werden meist bei Indexangaben benutzt. 🙂
    Ich hoffe du hast den Code nicht 1 : 1 in dein Projekt rüberkopiert.. sonst müsstest du ja auch eine Variable olApp haben. 🙂

    Führ mal ne Dummy Variable ein und schau dir den Rückgabewert des Aufrufs an.
    Vielleicht hängt da was drin...

    AnsiString dummy = Printer()->Printers->Strings[Printer()->PrinterIndex];



  • um genau zu sein :

    Eckige Klammern [ ] enthalten die Indizes bei ein- oder mehrdimensionalen Arrays. Der Ausdruck
    
    <exp1>[exp2]
    
    ist nach Definition gleichwertig mit
    
    *((exp1) + (exp2))
    
    wobei eine der beiden folgenden Möglichkeiten gilt:
    
    exp1 ist ein Zeiger, und exp2 ist ein Ganzzahlwert.
        exp1 ist ein Ganzzahlwert, und exp2 ist ein Zeiger
    

    ich hoffe für meine Nerven das du weißt was nen Array is ! 🙄



  • @ 1ntruDor

    Original erstellt von 1ntrud0r:
    du willst uns jetzt aber hinters Licht führen oder ? 😮

    Nein, will ich nicht, aber ich programmier, indem ich code von anderen anwendungen copiere ohne mir viele Gedanken zu machen, was bestimmte Zeichen heißen könnten.

    So weiß ich auch nicht was & vor einer variable bedeutet. Pointer gibt man doch mit * an.

    Aber, danke für die ausführliche Erklärung.
    Puphol



  • Du solltest dir aber dringend mal Gedanken machen!

    Zum Beispiel, dass solche Fragen ([], &) nicht speziell mit dem BCB zu tun haben, sondern, wenn überhaupt, in's "C++"-Forum gehören. Und dass du dich vielleicht erstmal mittels eines Tutorials o.ä. mit den C++-Grundlagen vertraut machen solltest, bevor du dich dort oder hier mit weiteren solcher "dummen Fragen" unbeliebt machst.

    Und letzendlich: bitte immer nur ein Thema pro Thread. Danke!



  • Original erstellt von puphol:
    Nein, will ich nicht, aber ich programmier, indem ich code von anderen anwendungen copiere ohne mir viele Gedanken zu machen, was bestimmte Zeichen heißen könnten.

    Troll des Tages 🙂

    & sind keine Pointer sondern Refferenzen oder eine Adresszuweisung an einen Pointer ! 🙄



  • Wie sagte mein WiInf-Kollege... "Zeiger? Auf Speicherstellen? IHHHH!!! So ein Scheiss..." .. tja.. VBler halten halt nix aus :p



  • VB Programmierer ist auch eine sehr bösartige Verleumdung der Programmierer !
    🙄

    [offtopic ende]



  • Original erstellt von 1ntrud0r:
    [offtopic ende]

    Hoffentlich! Sonst heisst es ruckzuck wieder "... kommentarlos gelöscht". 😉

    Und das gilt für Alle!


Anmelden zum Antworten