Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Anfänger hat eine Frage (https://www.delphipraxis.net/180356-anfaenger-hat-eine-frage.html)

dachico212 14. Mai 2014 11:59

Anfänger hat eine Frage
 
Guten Tag meine Freunde ,
ich habe ein Problem , und ich weiss gar nicht womit ich anfangen soll ,

ich habe hier ein Code in LUA-Programmiersprache .,und möchte das in Delphi schreiben , kann mir vielleicht jemanden von euch helfen , vielen dank im voraus .

__________________________________________________ ______________________________________________

smua.reset()
smua.source.func = smua.OUTPUT_DCAMPS
smua.sense = smua.SENSE_REMOTE
smua.measure.autozero = smua.AUTOZERO_ONCE
smua.source.rangev = 10 --Messbereich Spannung
smua.source.rangei = 1 --Messbereich Strom
smua.source.limiti = 1 --absolutes Limit Strom in A
smua.source.limitv = 2 --absolutes Limit Spannung in V
smua.measure.rangei = 1
smua.measure.rangev = 10
smua.source.output = smua.OUTPUT_ON
settime(0)
timer.reset()


for anzahl = 1, 2 do --zweiter Wert ist die Zyklenanzahl
smua.source.sink = smua.DISABLE
smua.source.leveli = 0.0001 --Ladestrom in A
-- print("Zyklus ", anzahl)
while smua.measure.v() <= 1.8 --Ladeschlussspannung in V
do
time = timer.measure.t()
print(smua.measure.v(smua.nvbuffer1), smua.measure.i(smua.nvbuffer1), time, "Zyklus ", anzahl)
delay(1)
end
smua.source.sink = smua.ENABLE
smua.source.leveli = -0.0001 --Entladestrom in A, muss negatives Vorzeichen haben
while smua.measure.v() >= 0.0 do --Entladeschlussspannung in V
time = timer.measure.t()
print(smua.measure.v(smua.nvbuffer1), smua.measure.i(smua.nvbuffer1), time, "Zyklus ", anzahl)
delay(1)
end
end
smua.source.leveli=0

__________________________________________________ ___________________________________________

danke noch mal

Zoot 14. Mai 2014 12:01

AW: Anfänger hat eine Frage
 
Und wo genau ist dein Problem?

dachico212 14. Mai 2014 12:05

AW: Anfänger hat eine Frage
 
ich möchte den Code in Delphi schreiben .soviel Ahnung habe ich leider nicht

Sherlock 14. Mai 2014 12:26

AW: Anfänger hat eine Frage
 
Dann prüfen wir doch mal eben die Rahmenbedingungen:
Weisst Du
  • welche Delphi-Version Du hast?
  • wie Delphi gestartet wird?
  • wie man ein neues Projekt anlegt?
  • was für Sprachelemente es in Delphi gibt?
Kurz: Wie sind Deine Vorkenntnisse in Delphi?

Oder andersherum: Welche Kenntnisse von Lua hast Du?

Sherlock

Sir Rufo 14. Mai 2014 12:31

AW: Anfänger hat eine Frage
 
So sieht das delphisiert aus ... aber du brauchst da noch eine Menge mehr, denn was repräsentiert
Delphi-Quellcode:
smua
?
Das wird eine spezielle Klasse sein, die du dann auch für Delphi benötigst.
Delphi-Quellcode:
  smua.reset( );
  smua.source.func := smua.OUTPUT_DCAMPS;
  smua.sense := smua.SENSE_REMOTE;
  smua.measure.autozero := smua.AUTOZERO_ONCE;
  smua.source.rangev := 10; // Messbereich Spannung
  smua.source.rangei := 1; // Messbereich Strom
  smua.source.limiti := 1; // absolutes Limit Strom in A
  smua.source.limitv := 2; // absolutes Limit Spannung in V
  smua.measure.rangei := 1;
  smua.measure.rangev := 10;
  smua.source.output := smua.OUTPUT_ON;

  timer := TStopWatch.StartNew;

  for anzahl := 1 to 2 do // zweiter Wert ist die Zyklenanzahl
    begin
      smua.source.sink := smua.DISABLE;
      smua.source.leveli := 0.0001; // Ladestrom in A
      // WriteLn( ' Zyklus ', anzahl )
      while smua.measure.V( ) <= 1.8 do // Ladeschlussspannung in V
        begin
          time := timer.ElapsedMilliseconds;
          WriteLn( smua.measure.V( smua.nvbuffer1 ), smua.measure.i( smua.nvbuffer1 ), time, ' Zyklus ', anzahl );
          sleep( 1 );
        end;
      smua.source.sink := smua.ENABLE;
      smua.source.leveli := -0.0001; // Entladestrom in A, muss negatives Vorzeichen haben
      while smua.measure.V( ) >= 0.0 do // Entladeschlussspannung in V
        begin
          time := timer.ElapsedMilliseconds;
          WriteLn( smua.measure.V( smua.nvbuffer1 ), smua.measure.i( smua.nvbuffer1 ), time, ' Zyklus ', anzahl );
          sleep( 1 );
        end;
    end;
  smua.source.leveli := 0;

himitsu 14. Mai 2014 12:33

AW: Anfänger hat eine Frage
 
Sherlock und der Rufo haben für den Anfang schonmal das Wichtigste gesagt/gefragt,

aber das Allerwichtigste solltest du auch noch schnell machen.
> Wie stelle ich eine Frage?

Du müsstes also deinen Beitrag editieren und eine ordentliche Überschift vergeben. (geht im erweiterten Editor)
Deine Überschrift sagt ja überhaupt nichts zum Problem aus. (stell dir mal vor jeder schreibt nur, daß er/sie "ein" Problem hat)

Und könntest du bitte deinen Code in CODE-Tags einfassen, damit man den besser lesen kann? (inkl. einer Code-Einrückung)
[CODE] ... [/CODE]

Sir Rufo 14. Mai 2014 12:44

AW: Anfänger hat eine Frage
 
Es wäre auch schön den Kontext zu erläutern, auch wenn man mit viel List und Tücke darauf kommen kann, dass es sich aller Wahrscheinlichkeit nach darum dreht.

Aber das ist halt nur ein Blick in die Glaskugel ...

DeddyH 14. Mai 2014 12:48

AW: Anfänger hat eine Frage
 
Und noch schöner wäre es, Crossposts als solche zu verlinken.

jaenicke 14. Mai 2014 13:07

AW: Anfänger hat eine Frage
 
Es geht ja offenbar um ein Gerät von Keithley. Die bieten auch Beispiele für Delphi an, zumindest teilweise, wenn auch zumindest teilweise für Uralt-Delphiversionen.

Das ist offenbar eine Typbibliothek, die importiert werden kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz