Deutsch
Forum

DDE Abfrage

 

Uwe
Skärke
Hallo ihr lieben XProfaner, jetzt komm ich mal mit einem richtigen Hammerproblem (jedenfalls für mich) und hoffe wir (IHR)
bekommen das hin, sonst ist mein ganzes Projekt im Eimer und ich heul mich tod...

Also, wie ja in meiner Vorstellung bereits beschrieben bin ich son verrückter Funkamateur und will folgendes erreichen :

Es gibt im Weltall eine ganze Menge von Amateurfunksatelitten, über die man Funkbetrieb machen kann, u.a auch die ISS.
Um zu wissen wo die Dinger gerade rumfliegen, gibt es verschiedene Satelitten-Tracking-Programme, die graphisch zeigen
wo der gesuchte Sat gerade rumturnt. Da werden praktisch u.a. die Elevation, Azimut und Entfernung aus den Keplerdaten
errechnet und angezeigt,so dass ich dann meine Richtantennen genau auf den Sat zielen kann...

Das war jetzt ein kleiner Exkurs zum Amateurfunkbetrieb über Satelitten... (hats Spass gemacht ??? )

So, nun ist eins dieser Trackingprogramme mit graphischer Darstellung der Umlaufbanen der Sat. das Program Orbitron.
Ich will nun meinem Funkgerät über die Serielle Schnittstelle mit einem Profan-PRG die aktuelle Frequenz mitteilen.
Diese Frequenz ändert sich laufend (Dopplereffekt) und wird von ORBITRON über die DDE-Schnittstelle zur Verfügung
gestellt.
Meine Idee war nun, den String mit den Daten aus dem Programm Orbitron auszulesen, zu bearbeiten und dann an
das Funkgerät weiter zu geben. Soweit bin ich gekommen, Orbitron wird gestartet, die Verbindung zu DDE ITEM
(Tracking) wird auch aufgebaut (x% > 32 und dann war und bin ich am Ende...

DDE-Test

declare x%

x%=@winexec(CrogrammeOrbitronOrbitron.exe,2)
ddelink Orbitron,Tracking
hier müsste jetzt der String TrackingData aus Orbitron ausgelesen werden...
und dann wird dieser String weiterverabeitet...

ddeterminate

END

Das Steuern des Funkgerätes und die Übergabe von Befehlen an das Funkgerät klappen schon ausgezeichnet,
nur ich krieg halt die Daten nicht über den DDE-Clienten von Orbitron ausgelesen.
Wie mir Roland im Forum schrieb, ist diese Funktion in Profan nicht implementiert (heul), allerdings sollte es über
WINDOWS-API gehen, da steh ich allerdings auch im Wald....

Jetzt kommt Alles was ich an Infos noch so habe und dann hoffe ich, dass Ihr mir irgendwie weiterhelfen könnt...

1. Beschreibung DDE-Client Orbitron :

--------------------------------------------------------------------------------
Specification of DDE drivers for Orbitron www.stoff.pl
--------------------------------------------------------------------------------

Contents:
1. Introduction
2. Technical data
3. Data format
3.1. TrackingData item
3.2. TrackingDataEx item
4. My DDE Client
5. Let Orbitron support your driver
6. Your driver for all!
7. WiSP DDE Client

-- 1. Introduction -------------------------------------------------------------

Orbitron is working as server in DDE conversations, so you can write your own
DDE client that can e.g. control rotor and radio devices. Such programs are
called by me Drivers.

-- 2. Technical data -----------------------------------------------------------

Drivers EXE file:
Name of drivers EXE file (without .EXE) is displayed on drivers list in
Orbitron. Drivers main window title or application title must be the same
as EXE file name to let Orbitron check is driver already running.

DDE conversation parameters:
Source application : Orbitron
Link topic : Tracking
Link items : TrackingData
item for communication with WiSP DDE Client with basic
data (Satscape format)
TrackingDataEx
item with extended data set
Link item is changed by Orbitron each time when current data is recalculated
(e.g. 1s, 5s...) and when downlink/uplink frequencies or mode are changed.

-- 3. Data format --------------------------------------------------------------

Please note:
- all angles are given as decimal degrees,
- decimal separator is . (dot),
- TrackingDataEx and TrackingData can be an EMPTY string If NO satellite
are tracked,
- TrackingDataEx can contain only AOS field if NO satellite are tracked.

-- 3.1. TrackingData item ------------------------------------------------------

Format of string:
SNxxx AZxxx.x ELxx.x DNxxxx UPxxxx DMxxxx UMxxxx
Fields:
SN - tracked satellite name (spaces converted to _)
AZ - azimuth in range form 0.0 to 360.0
EL - elevation in range from -90.0 to 90.0
please note possibility of negative values
DN - downlink frequency with doppler, [Hz] in range from 0 to N
UP - uplink frequency with doppler, [Hz] in range from 0 to N
DM - downlink mode (optional field)
UM - uplink mode (optional field)
Examples:
SNISS_ZARYA AZ182.1 EL36.3 DN145800000 UP145800000 UMFM-N
SNISS_ZARYA AZ180.3 EL-10.1 DN145800000 UP145800000

-- 3.2. TrackingDataEx item ----------------------------------------------------

Format of string:
SNxxx AZxxx.x ELxx.x DNxxxx UPxxxx DMxxxx UMxxxx AOSxxx
Fields:
SN - tracked satellite name in quotes
RA - range [km]
RR - range rate [km/s]
LO - longitude in range from -180.0000 to 180.000 (W to E)
LA - latitude in range from -90.0000 to 90.000 (S to N)
AL - altitude [km]
TU - UTC time (Format: YYYYMMDDhhmmss)
TL - local time (Format: YYYYMMDDhhmmss)
AOS - AOS notification for satellite xxx (name in quotes; AOS notification
is provided for all tracked objects, not only for active one)
Other fields same as in TrackingData item.
Examples:
SNISS ZARYA AZ182.1 EL36.3 DN145800000 UP145800000 (...)
SNISS ZARYA AZ182.1 EL36.3 DN145800000 UP145800000 (...) AOSHST
AOSHST

-- 4. My DDE Client ------------------------------------------------------------

My DDE Client is an example of users custom driver for Orbitron with full
source code in Delphi 5. It should helps you to write your own driver for rotor
or radio hardware. Further information you will find in MAIN.PAS file.

-- 5. Let Orbitron support your driver -----------------------------------------

Please set specific name for your driver program, e.g. SuperRotor.exe. Then you
can edit {Orbitron}ConfigSetup.cfg file (*) by adding line to the [Drivers]
section (please create it if doesnt exist) with your driver information.
Example:
[Drivers]
SuperRotor=d:My filesSuperRotor.exe
SuperRotorTwo=
Next time you run Orbitron, your driver will be listed on Rotor/Radio panel.
You can launch it there. If no path specified, Orbitron will ask you about your
drivers location (drivers located in {Orbitron} directory will be found
automatically).

*) {Orbitron} - replace it with directory where Orbitron is installed to,
e.g. crogram FilesOrbitron. This path is available in Windows
registry:
HKEY_CURRENT_USERSoftwareStoffOrbitronPath
WARNING: User can define his own location where the Config directory is.
This value is stored in registry:
HKEY_CURRENT_USERSoftwareStoffOrbitronUserPath
So, if this value is specified, you have to use it instead of previous one.
HINT: You can check are files definied by:
HKEY_CURRENT_USERSoftwareStoffOrbitronPath + ConfigSetup.cfg
HKEY_CURRENT_USERSoftwareStoffOrbitronUserPath + ConfigSetup.cfg
exists and then add your config line to both.

-- 6. Your driver for all! -----------------------------------------------------

Have you already done your driver? Please, send me it. Ill put it on Orbitron
website to share it with all people with same hardware as yours.

-- 7. WiSP DDE Client ----------------------------------------------------------

WiSP DDE Client is an application written by Fernando Mederos, CX6DD and
available on [...]  It works as DDE
Client and support many kinds of hardware and software. To use it with Orbitron,
following settings are required:
Receive DDE from : Orbitron (or Satscape)
Source application : Orbitron
Link Topic : Tracking
Link Item : TrackingData
Query Interval : 1 sec.
Orbitron will set these values when you launch WiSP DDE Client from
Rotor/Radio panel.

-- Last updated 2005.02.26 -----------------------------------------------------

und zweitens ein Beispielprogram in PASCAL :

{
My DDE Client is an example of users custom driver for Orbitron.
version 1.02, released 2003.11.07
1.03, released 2004.09.04
1.04, released 2004.09.10
1.05, released 2005.02.26
(C) 2003-2005 by Sebastian Stoff
sebastian@stoff.pl
www.stoff.pl

You can use this source to receive tracking data from Orbitron and send it
to your rotor/radio hardware via COM/LPT/USB interfaces. Other purposes are
also allowed, depending on your invention...
To change this source code into the driver, you must write code specific to
hardware you have in UpdateRotorAndRadio procedure. Please find it
on the end of this file.

Detailed information are available in READ_ME.TXT file.

CHANGING, COMPILING AND FREE DISTRIBUTING OF THIS PROGRAM/SOURCES IS
ALLOWED FOR ***ORBITRON*** RELATED PURPOSES WITHOUT MY PERMISSION.
}

unit main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DdeMan, StdCtrls, ExtCtrls, Buttons, Registry, ComCtrls;

type
TSatData = record
name : String; //satellite name
azm,elv : Double; //observation angles
upf,dnf : Double; //uplink and downlink frequencies (with doppler shift)
upm,dnm : String; //uplink and downlink modes
end;
TFMain = class(TForm)
Tracking: TDdeClientConv;
TrackingDataEx: TDdeClientItem;
Label1: TLabel;
l_st: TLabel;
Label3: TLabel;
l_dd: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Bevel1: TBevel;
l_az: TLabel;
l_el: TLabel;
l_uf: TLabel;
l_df: TLabel;
l_um: TLabel;
l_dm: TLabel;
Bevel2: TBevel;
l_na: TLabel;
Label4: TLabel;
SpeedButton1: TSpeedButton;
l_aos: TLabel;
Label2: TLabel;
procedure TrackingOpen(Sender: TObject);
procedure TrackingClose(Sender: TObject);
procedure TrackingDataExChange(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure l_ddClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure ParseString(s: String; var data: TSatData);
procedure PrintData(data: TSatData);
procedure UpdateRotorAndRadio(data: TSatData);
end;

var
FMain : TFMain;
SatData : TSatData;
Reg : TRegistry;
PathP : String;
AOS : String;

implementation

{$R *.DFM}

procedure Replace(var s: String; subs1,subs2: String);
var i : Integer;
begin
if subs1= then Exit;
if subs1=subs2 then Exit;
i:=Pos(subs1,s);
while i>0 do begin
Delete(s,i,Length(subs1));
Insert(subs2,s,i);
i:=Pos(subs1,s);
end;
end;

function FieldToReal(s: String):Real;
var c : Integer;
begin
val(s,result,c);
if c>0 then result:=0;
end;

function GetField(source,field: String):String;
var p1,p2 : Integer;
quotes : Boolean;
s2 : String;

function FindField(source,field: String):Integer;
var i : Integer;
quotes : Boolean;
begin
quotes:=False;
for i:=1 to Length(source) do begin
if source= then begin
quotes:=not quotes;
Continue;
end;

if quotes then source:=-;
end;
result:=pos(field,source);
end;

begin
source:= +source;
field:=UpperCase(field);
field:= +field;
p1:=FindField(source,field);
if p1=0 then begin
result:=;
Exit;
end;

s2:=;
p2:=p1+Length(field);
quotes:=False;
while p2<=Length(source) do begin
if source[p2]= then begin
quotes:=not quotes;
Inc(p2);
Continue;
end;

if (source[p2]= ) and not quotes then Break;

s2:=s2+source[p2];
Inc(p2);
end;
result:=s2;
end;

procedure TFMain.ParseString(s: String; var data: TSatData);
begin
if s= then with data do begin
name:=;
azm:=0;
elv:=0;
upf:=0;
dnf:=0;
upm:=;
dnm:=;
AOS:=;
Exit;
end;

s:=UpperCase(s);
Replace(s,,,.);
with data do begin
name:=GetField(s,SN);
azm:=FieldToReal(GetField(s,AZ));
elv:=FieldToReal(GetField(s,EL));
upf:=FieldToReal(GetField(s,UP));
dnf:=FieldToReal(GetField(s,DN));
upm:=GetField(s,UM);
dnm:=GetField(s,DM);
AOS:=GetField(s,AOS);
end;
end;

procedure TFMain.PrintData(data: TSatData);
begin
with data do begin
l_na.Caption:=name;
l_az.Caption:=FloatToStrF(azm,ffFixed,4,1);
l_el.Caption:=FloatToStrF(elv,ffFixed,4,1);
l_uf.Caption:=FloatToStrF(upf,ffFixed,12,0)+ Hz;
l_df.Caption:=FloatToStrF(dnf,ffFixed,12,0)+ Hz;
l_um.Caption:=upm;
l_dm.Caption:=dnm;
end;
if AOS<> then l_aos.Caption:=AOS (+AOS+) else l_aos.Caption:=None;
end;

procedure TFMain.SpeedButton1Click(Sender: TObject);
begin
FMain.Close;
end;

procedure TFMain.TrackingOpen(Sender: TObject);
begin
l_dd.Caption:=Opened;
end;

procedure TFMain.TrackingClose(Sender: TObject);
begin
l_dd.Caption:=Closed;
l_st.Caption:=No data;
ParseString(,SatData);
PrintData(SatData);
end;

procedure TFMain.TrackingDataExChange(Sender: TObject);
var s : String;
begin
s:=Trim(TrackingDataEx.Text);
if s= then l_st.Caption:=No data else
l_st.Caption:=s;
ParseString(s,SatData);

PrintData(SatData);
UpdateRotorAndRadio(SatData);
end;

procedure TFMain.FormCreate(Sender: TObject);
begin
ParseString(,SatData);
PrintData(SatData);

PathP:=ExtractFileDir(ParamStr(0));
if PathP[length(PathP)]<> then PathP:=PathP+;
ChDir(PathP);

If not FileExists(PathP+Orbitron.exe) then begin
Reg:=TRegistry.Create;
try
if Reg.OpenKey(SoftwareStoffOrbitron,True) then
Tracking.ServiceApplication:=Reg.ReadString(Path)+orbitron;
finally
Reg.CloseKey;
Reg.Free;
end;
end;
Tracking.OpenLink;
end;

procedure TFMain.l_ddClick(Sender: TObject);
begin
Tracking.OpenLink;
end;

procedure TFMain.UpdateRotorAndRadio(data: TSatData);
begin
{
Please write support for your rotor/radio hardware here.

Use DATA record as source of current tracking data sended by
Orbitron.

This procedure will be called by DDE engine after Orbitron made
changes into the tracking data (each 1s, 5s, 10s or so).
}
end;

end.

soooooo, jetzt werde ich warscheinlich schlecht schlafen und alle zwei Minuten reinschauen, wass Ihr so aus diesem
Wust so macht...

PS.: wer sich Orbitron mal anschauen möchte, hier die Adresse zum runterladen :
www.stoff.pl

LG
Uwe
 
TOSHIBA TECRA S1 / PROFAN 7.0
24.11.2007  
 




Frank
Abbing
Den String, den du auslesen willst. Steht der irgendwo in einem Control? Z.B. einer Editbox?
Mach bitte mal einen Screenshot, wo dieser String zu sehen ist.
 
24.11.2007  
 




Uwe
Skärke
Hallo Frank, eine mögliche Abbildung ist die :
es geht um Azimut und Elevation und um Dopplerfrequenz up und down...

eins Screenshot von einer in Delphi geschriebenen DDE-Anwendung hab ich auch mal reingelegt, da sieht man den gesamten String wie er eben unter TrackingData von Orbitron bereitgestellt wird (oben, und der ändert sich jede sekunde...)

LG
UWE

27 kB
Kurzbeschreibung: myDDE
Hochgeladen:24.11.2007
Ladeanzahl249
Herunterladen
191 kB
Kurzbeschreibung: Orbitron
Hochgeladen:24.11.2007
Ladeanzahl258
Herunterladen
 
TOSHIBA TECRA S1 / PROFAN 7.0
24.11.2007  
 




Frank
Abbing
Ist doch prima. Wenn irgendwo der String in einem Windows-Control steht kannst du ihn auslesen. Dein Programm könnte den Controlhandle ermitteln und den Text dann auslesen.
 
24.11.2007  
 




Uwe
Skärke
... schönen guten Morgen Frank, ich hoffe Du bist Sonntagsfrühaufsteher ...
na ja, ist ja klasse wenn Du es prima findest, aber da ich ja blutiger Anfänger bin, steh ich noch im Regen, mach doch mal nen Vorschlag wie ich das angehen könnte, wie Du an der Uhrzeit sehen kannst, kann ich nicht schlafen...

HELP !!!

LG, Uwe
 
TOSHIBA TECRA S1 / PROFAN 7.0
25.11.2007  
 




Uwe
Skärke
... evtl. hilft Dir das noch weiter bei der Lösung meines Problemes !!??

das zeigt Dein WhichLibraries beim Start von Orbitron an :

c:programmeorbitronorbitron.exe (WININET.DLL)
c:programmeorbitronorbitron.exe (RASAPI32.DLL)
c:programmeorbitronorbitron.exe (RASAPI32.DLL)
c:programmeorbitronorbitron.exe (SHELL32.DLL)
c:programmeorbitronorbitron.exe (USERENV.DLL)
c:programmeorbitronorbitron.exe (SENSAPI.DLL)
c:programmeorbitronorbitron.exe (RSAENH.DLL)
c:programmeorbitronorbitron.exe (C:WINDOWSSYSTEM32MSWSOCK.DLL)
c:programmeorbitronorbitron.exe (RASADHLP.DLL)
c:programmeorbitronorbitron.exe (URLMON.DLL)
c:programmeorbitronorbitron.exe (WININET.DLL)
c:programmeorbitronorbitron.exe (C:WINDOWSSYSTEM32MSWSOCK.DLL)
c:programmeorbitronorbitron.exe (DNSAPI.DLL)
c:programmeorbitronorbitron.exe (IPHLPAPI.DLL)
c:programmeorbitronorbitron.exe (WS2_32.DLL)

..................LG.........................Uwe...............
 
TOSHIBA TECRA S1 / PROFAN 7.0
25.11.2007  
 




Frank
Abbing
Mit der Dll-Liste ist nichts anzufangen.

Starte mal meinen kleinen Code und gehe mit dem Mauszeiger über den String in deinem Programm. Wird der Text in meinem Fenster bei Fenstertext angezeigt? Wenn ja ist das schon die halbe Miete...
KompilierenMarkierenSeparieren
(W) 2003 Frank Abbing
Declare sx&,sy&,bereich#,be#,erg&,erg2&,x&,y&,text$
Dim be#,8
Dim bereich#,1024
DEF GetCursorPos(1) !USER32,GetCursorPos
DEF WindowFromPoint(2) !USER32,WindowFromPoint
DEF ChildWindowFromPoint(3) !USER32,ChildWindowFromPoint
Def GetSysColor(1) !USER32,GetSysColor
Def ScreenToClient(2) !USER32,ScreenToClient
Def GetClassName(3) !USER32,GetClassNameA
Def GetWindowText(3) !USER32,GetWindowTextA
DEF NewWindowPos(7) !USER32,SetWindowPos
DEF AllocConsole(0) !KERNEL32,AllocConsole

Proc DText

    Parameters xx&,yy&,ttext$
    Drawtext xx&,yy&,ttext$

EndProc

Windowtitle Fensterhandles...
windowstyle 26
window (%maxx/2-112),(%maxy/2-80)-224,164
settruecolor 1
cls GetSysColor(15)
NewWindowPos(%hwnd,-1,0,0,0,0,$13)
Usefont MS Sans Serif,13,0,0,0,0
SetDialogFont 1

whilenot %mousepressed=2

    Sleep 10
    GetCursorPos(be#)
    x&=Long(be#,0)
    y&=Long(be#,4)
    erg&=@WindowFromPoint(x&,y&)

    If erg&<>0

        ScreenToClient(erg&,be#)
        x&=Long(be#,0)
        y&=Long(be#,4)
        erg2&=@ChildWindowFromPoint(erg&,x&,y&)

    EndIf

    TextColor 0,GetSysColor(15)
    DText 8,8, Maus Position X = +Str$(x&)+
    DText 8,21,Maus Position Y = +Str$(y&)+
    DText 8,38,Handle eigenes Fenster = $+@Hex$(%hwnd)+
    DText 8,55,Handle unter Mauszeiger = $+@Hex$(erg&)+
    DText 8,68,Handle unter Mauszeiger (Child) = $+@Hex$(erg2&)+
    GetClassname(erg&,bereich#,128)Declare sx&,sy&,text$,x&,y&,bereich#
    text$=String$(bereich#,0)
    DText 8,85,Klassenname = +text$+
    GetWindowText(erg&,bereich#,128)
    text$=String$(bereich#,0)
    DText 8,98,Fenstername = +text$+
    @SendMessage(erg&,13,128,bereich#)
    text$=String$(bereich#,0)
    DText 8,111,Fenstertext = +text$+

wend

Dispose be#
Dispose bereich#
end
 
25.11.2007  
 




Uwe
Skärke
hallo Frank

du bist da, ist ja klasse, hast aber ganz schön lange geschlafen ...

aber eben hab ich gemerkt, da is was da *freu*

so nun muss ich erst mal lesen was Du erfunden hast...

okay, das verswuch ich mal.. und Funke dich an ...

LG, Uwe
 
TOSHIBA TECRA S1 / PROFAN 7.0
25.11.2007  
 




Uwe
Skärke
Hi Frank,

Du solltest den XProfan-Community-Nobel-Preis bekommen...

Also zur Auswertung :

Handle unter Mauszeiger unde Mauszeiger (Child) ist immer gleich, aber bei jedem
Start von Orbitron anders (z.B. $206DC)

Bei Klassenname erscheint bei den mich interessierenden Boxen immer TEdit
Bei Fenstername erscheint nie was, nix, niente, nada

... und das gei.... ist, bei Fenstertext steht genau das was ich brauche, Azimut Elevation,Frequenz ...

jetzt muss ich nur noch versuchen zu verstehen wadduda gemacht hast...

LG, Uwe
 
TOSHIBA TECRA S1 / PROFAN 7.0
25.11.2007  
 




Frank
Abbing
Hi.


Handle unter Mauszeiger unde Mauszeiger (Child) ist immer gleich, aber bei jedem
Start von Orbitron anders (z.B. $206DC)


Ja, das ist so auch logisch.


Bei Klassenname erscheint bei den mich interessierenden Boxen immer TEdit


Ok, kein Windows-übliches Editfeld...


Bei Fenstername erscheint nie was, nix, niente, nada


Auch logisch.


... und das gei.... ist, bei Fenstertext steht genau das was ich brauche, Azimut Elevation,Frequenz ...


Bingo! Somit kannst du dein Vorhaben ausführen.


jetzt muss ich nur noch versuchen zu verstehen wadduda gemacht hast...


Du mußt jetzt überlegen, ob dein Orbitron-Fenster immer am selbem Platz steht und immer im Vordergrund. Wenn ja, kannst feste Positionsangaben verwenden anstelle von Mauskoordinaten.
Wenn nein, musst du anders vorgehen. Du mußt Orbitron.exe erkennen (über Prozesshandle oder Windowname), das betreffende Control mit dem Text lokalisieren (Fenstertext und Klassenname) und dann auslesen. Das ist die Methode, die ich verwenden würde.
 
25.11.2007  
 




Uwe
Skärke
okay, ...

die zweite Variante würde mir besser gefallen, allerdings brauch ich da noch mal Deine Hilfe

weil ich denke, dass bei verschiedenen Bildschirmauflösungen auch die Positionsdaten unterschiedlich sind und möglicherweise das Orbitron auch mal nicht im Vollbildmodus läuft...

... und immer daran denken, Du hast es hier mit einem Vorschulkind zu tun...

PS: und danke, hoffe ich habe Dir nicht den Sonntag vermasselt
 
TOSHIBA TECRA S1 / PROFAN 7.0
25.11.2007  
 




Frank
Abbing

... und immer daran denken, Du hast es hier mit einem Vorschulkind zu tun...


Dafür ist das Thema eigentlich zu schwierig. Ich kann mir denken, dass du dieses Programm benötigst. Besser wäre aber, mit einfacheren Dingen zu beginnen...

Auf den Screenshots meine ich zu erkennen zu erkennen, dass sich die von dir benötigten Informationen in mehreren Controls verstecken. Ist das richtig?
Ich müßte genau wissen, welche Information(en) du ständig benötigst.
 
25.11.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

14.433 Betrachtungen

Unbenanntvor 0 min.
H.Brill vor 7 Tagen
Axel Berse18.02.2022
Walter14.03.2020
Andre Rohland01.03.2015
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Uwe Skärke (10x)
Frank Abbing (8x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie