1 / 22

Programmierung mit GUINEU

Programmierung mit GUINEU. Venelina Jordanova Venelina@VandU.eu. Uwe Habermann Uwe@VandU.eu. GUINEU?. Verwendung von VFP Code in Silverlight Client-Projekten Also im Browser beim Benutzer Läuft auch auf Mac und weiteren künftig verfügbaren Plattformen. GUINEU. Von Christof Wollenhaupt

libra
Download Presentation

Programmierung mit GUINEU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programmierung mit GUINEU VenelinaJordanova Venelina@VandU.eu Uwe Habermann Uwe@VandU.eu

  2. GUINEU? • Verwendung von VFP Code in Silverlight Client-Projekten • Also im Browser beim Benutzer • Läuft auch auf Mac und weiteren künftig verfügbaren Plattformen

  3. GUINEU • Von Christof Wollenhaupt • www.GUINEU.net • VFP Laufzeitumgebung in C# entwickelt • Angepasste Version für Silverswitch Client Anwendungen • Exklusiv in Silverswitch • 1 DLL • VFP Code aus FXP Datei ausführen

  4. GUINEUWas kann man damit machen? • Geschäftslogik • Steuerung der Silverlight Benutzeroberfläche • Aber: • Keine VFP Benutzeroberfläche • (Messagebox, Wait Window, …) • Kein Dateizugriff • Das sind keine Einschränkungen!

  5. GUINEUIntegration in Silverswitch • Wrapper-Projekt • VfxGuineuRuntime • FXP Datei • Im Ordner VFPCode speichern • Buildvorgang: Eingebettete Ressource • PRG Datei (zur Bearbeitung mit VFP) • Öffnen mit VFP als Standard • Buildvorgang: keine

  6. GUINEU • Deklaration using VfxGuineuRuntime; private readonlyVfxGuineu _fox = new VfxGuineu("<Name>.FXP");

  7. GUINEU • Funktionsaufruf _fox.Do("<Funktionsname>", <Parameter 1>, <Parameter 2>, …); • 1. Parameter ist Funktionsname • Folgende Parameter werden an die Funktionübergeben

  8. GUINEU • Parameterübergabe • auch Objekte! • Viele VFP Funktionen • Viele VFP Befehle • Keine Ausführung von C# Methoden • Keine Child-Objekte ansprechbar

  9. VFP aus VWD starten • Projekt VfxGuineuRuntime • Ordner VFPCode • PRG Datei hinzufügen • Rechtsklick, Öffnen mit… • VFP als Standard einstellen • Rechtsklick, Buildvorgang • keine • Einstellung in VFP • Vor dem Speichern kompilieren

  10. VFP aus VWD starten • Projekt VfxGuineuRuntime • Ordner VFPCode • FXP Datei hinzufügen • Rechtsklick, Buildvorgang • Eingebettete Ressource

  11. CheckBoxsteuert TextBox.IsReadOnly • XAML Code: <VfxObject:VfxCheckBox Content="ReadOnly" Name="vfxReadOnlyCheckBox" Click="vfxReadOnlyCheckBox_Checked"/>

  12. CheckBoxsteuert TextBox.IsReadOnly • C# Code: private voidvfxReadOnlyCheckBox_Checked (objectsender, System.Windows.RoutedEventArgse) { VfxCheckBoxCheckBox = (VfxCheckBox)sender; _fox.Do("ChangeReadOnly", xpgfPageFramePage1txtCustomername,CheckBox.IsChecked); }

  13. CheckBoxsteuert TextBox.IsReadOnly • VFP GUINEU Code: FUNCTION setreadonly LPARAMETERS toControl toControl.IsReadOnly = .T.

  14. GUINEU berechnet Lieferdatum • XAML Code: <VfxObject:VfxDatePickerSelectedDate="{Binding Path=Orders.CurrentItem.orderdate, Mode=Twoway}„ x:Name="xpgfPageFramePage1cntOrderdate„LostFocus= "xpgfPageFramePage1txtOrderdate_LostFocus"> </VfxObject:VfxDatePicker> <TextBox Name="txtDelivery" />

  15. GUINEU berechnet Lieferdatum • C# Code: private voidxpgfPageFramePage1txtOrderdate_LostFocus (objectsender, System.Windows.RoutedEventArgs e) { OnEdit(); varorderDate = ((orders) ViewModel.WorkAliasCollection.CurrentItem).orderdate; txtDelivery.Text= _fox.Do("Lieferdatum", orderDate); }

  16. GUINEU berechnet Lieferdatum • VFP GUINEU Code: Procedure Lieferdatum (ttOrderDate) LocalldOrder, ldLiefer ldOrder = Ttod(m.ttOrderDate) ldLiefer= ldOrder + 3 && drei Tage Lieferfrist Do case Case Dow(m.ldLiefer,2) == 6 && Samstag ldLiefer= m.ldLiefer + 2 && drauffolgender Montag Case Dow(m.ldLiefer,2) == 7 && Sonntag ldLiefer= m.ldLiefer + 1 && drauffolgender Montag EndCase Return ldLiefer

  17. Speichern aus GUINEU • XAML Code: <VfxObject:VfxButton Content=“Speichern“ Click="vfxButton1_Click" />

  18. Speichern aus GUINEU • C# Code: private void vfxButton1_Click(object sender, System.Windows.RoutedEventArgs e) { boolreturnvalue; returnvalue= _fox.Do("Speichern"); if (returnvalue) this.OnSave(); }

  19. Speichern aus GUINEU • VFP GUINEU Code: FUNCTION Speichern * BeliebigeGeschäftslogik RETURN .T.

  20. GUINEU • Beispiele in VFPizza • Kunden GUINEU • Aufträge GUINEU • Eigenschaft abfragen • Eigenschaft setzen • Speichern (indirekt, weil in C#)

  21. Fragen?

  22. Vielen Dank undviel Spaß mit GUINEU wünschenVenelina & Uwe

More Related