Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 240763 (2199)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Stringarray in die Zwischenablage
Menegoni
| Datum:30.09.02 08:27 (Werner.Menegoni@SKF.com) |
Hallo Ich brauche Euere Hilfe Ich arbeite mit Profan 6.0 und stehe vor folgendem Problem Mein Programm erstellt ein Stringarray und das will ich in die Zwischenablage kopieren. Es muss Text sein, damit ein anderes Programm dies verarbeiten kann. Das Array hat maximal 50 Zeilen mit je max 100 Zeichen Ich habe ein Beispiel anhängt wie es NICHT geht vielleicht kann mir jemand helfen Gruss Werner 'Testprogramm Declare sz% Declare Array$[10] Declare Zeile$ Cls ClearClip let sz% = 0 WhileNot @equ(sz%,11) let Zeile$ = " Dies ist Zeile ",sz% let Array$[sz%] = Zeile$ PutClip Zeile$ inc sz% EndWhile let sz% = 0 WhileNot @equ(sz%,11) let Zeile$ = Array$[sz%] print Zeile$ inc sz% EndWhile print print " String aus der Zwischenablage" print GetClip$() waitinput
Thorsten
| Datum:30.09.02 18:06 (galaxy@mrk-soft.de) |
Hallo, das geht auch so nicht, PutClip überschreibt den alten Wert natürlich immer, was logisch ist. Aber selbst ein Array lässt sich so nicht übergeben, den ein Array ist ja nichrs anderes, als Text im Speicher an verschieden stellen. Möglich wäre, den Array-Inhalt als 1 String aufzusumieren, mit Trennzeichen und diesen String dann komplett zu übertragen. Da in Profan 6.6 aber ein String nur 255 Zeichen sein darf, wirste hier um Bereichsvariablen nicht vorbeikommen. auf meiner Page, Tip 6 ist ein Code für die Zwischenablage und Bereichs-Variabeln. www.mrk-soft.de
Werner Menegoni
| Datum:01.10.02 09:08 (Werner.Menegoni@skf.com) |
Erst mal Dankeschön für die schnelle Antwort. Ich habe mir dein Programm runter geladen. Funktioniert aber leider nur halb. Ich kann mit dem 'neuem Befehl'GetClip32 zwar die Zwischenablage auslesen. Aber leiter nicht, und das brauche ich, nichts in die Ablage schreiben. Vielleicht liegt es daran das ich unter NT arbeite. Mit der WindowsAPI liege ich noch auf dem Kriegsfuss, so das ich die Def nicht exakt nachvollziehen kann. Möglich, das es noch andere Möglichkeiten gibt ??? Gruss Werner
Thorsten
| Datum:01.10.02 12:14 (galaxy@mrk-soft.de) |
Hallo, die Procedure "PutClip" erwartet eine Bereichsvariable. Viel API steht zum schreiben nicht dahinter, Openclipboard() öffnet das Device, SetClipboardData() schreit in die Zwischenablage und CloseClipboard() schliest das Device wieder. grad getestet. Funktioniert unter Win 98 / ME und NT / XP.
Werner Menegoni
| Datum: 02.10.02 12:40 (Werner.Menegoni@SKF.com) |
Hallo Thorsten Danke schön. ich habe den Fehler gefunden Und zwar musste ich mich doch mit WindosAPI befassen habe wieder dazugelernt. Der aufruf OpenClipBoard(GetActiveWindow()) 'clipboard öffnen setzt vorraus, dass ein Fenster geöffnet ist. Das war bei mir nicht der Fall. Das ist erledigt nun ist mein Problem gelöst nochmals vielen Dank

| Zurück zur Übersicht