Οπτικός Προγραμματισμός  Ενσωμάτωση αντικειμένου τύπου TMainMenu από την μπάρα εργαλείων Standard. Δεν καθορίζουμε το μέγεθος και τη θέση.  Με διπλό.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Οπτικός Προγραμματισμός  Προέρχονται από τα sets της Pascal.Ορίζονται ως : typedef Set όνομα τύπου συνόλου Π.χ. typedef set MikroiAkeraioi  Συνήθως συνδυάζονται.
Advertisements

Το αλφαριθμητικό (string)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING.
Οπτικός Προγραμματισμός  Περιέχει έτοιμα components υλοποίησης κοινών διαλόγων  OpenDialog : διάλογος για την επιλογή αρχείου για άνοιγμα.  SaveDialog.
Οπτικός Προγραμματισμός  Frames : Μοιάζουν με τις φόρμες και μπορούν να ενσωματώσουν άλλα components, αλλά δεν αποτελούν παράθυρα. Είναι σετ από components.
Οπτικός Προγραμματισμός  Παράγεται από την κλάση TColorDialog. Επιτρέπει στον χρήστη την επιλογή χρώματος από τα βασικά χρώματα και τον καθορισμό ειδικών.
Εκμάθηση διεπαφής MS Kodu. Δημιουργώ τον Κόσμο Το πρώτο πράγμα που θα φτιάξουμε είναι ο κόσμος. Λογικό, αφού χωρίς κόσμο, πού θα τοποθετούσαμε μετά τα.
Ένας προκαταρκτικός οδηγός για τη δημιουργία μιας ιστοσελίδας wiki Hfr Φεβρουάριος 08.
Οπτικός Προγραμματισμός  Παράγεται από την κλάση TStatusBar. Περιέχει έναν αριθμό από Panels που μπορούν να περιέχουν πληροφορίες για την κατάσταση του.
Οπτικός Προγραμματισμός  Παράγονται από την κλάση TForm. Αποτελούν components με μορφή “παραθύρου” που μπορούν να ενσωματώσουν άλλα components.  Ιδιότητες.
Εργαστήριο 17 Εκπαιδευτικό Εργαστήριο Πληροφορικής Χειμερινό Εξάμηνο 2006 Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Διοικητικής Επιστήμης & Τεχνολογίας.
Πίνακες.
Οπτικός Προγραμματισμός  Οι εφαρμογές οπτικού προγραμματισμού μπορούν να ακολουθούν ένα από τα παρα- κάτω τρία μοντέλα όσον αφορά το interface:  SDI.
Οπτικός Προγραμματισμός ( C++ Builder 5.0 )
Συνεργατικό Εργαλείο wiki
Οπτικός Προγραμματισμός  To Page Control ανήκει στην κλάση TPageControl. Xρησιμοποιείται σε περιπτώσεις που θέλουμε να έχουμε πολλές σελίδες με components.
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
ΕΠΛ002: Εισαγωγή στην Επιστήμη της Πληροφορικής
Logo Κεφάλαιο 6.
Οπτικός Προγραμματισμός Published Properties (Object inspector)  Alignment : (taRightJustify, taLeftJustify) καθορίζει άν το Caption θα εμφανίζεται στα.
Windows Programming Web controls. •Τα web forms είναι container αντικείμενα σχεδιασμένα για να κάνουνε host άλλα controls, όπως α) Web server controls,
Οπτικός Προγραμματισμός Οι ιδιότητες των αντικειμένων μπορεί να είναι δύο ειδών : 1.Published properties : είναι αυτές που εμφανίζονται στον Object Inspector.
Γυμνάσιο Νέας Κυδωνίας
Microsoft Excel 4.2 Κελιά Κίκα Χρυσοστόμου.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
Οπτικός Προγραμματισμός  Κληρονομείται από την κλάση TCanvas. Επιτρέπει την σχεδίαση γραφι- κών στο Image Component. Επίσης υπάρχει στις φόρμες, σε compo-
Databases & Qt Μανούσης Πέτρος ΑΜ: 862
Τμήμα Φυσικής - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
A’ ΛΥΚΕΙΟΥ ΛΥΚΕΙΟ ΚΟΚΚΙΝΟΧΩΡΙΩΝ Δημήτρης Μαυροβουνιώτης
C++ σε περιβάλλον .NET Χρόνη Αλεξάνδρα Α.Μ. 847
Εισαγωγή στο Excel Σχολή Αγρονόμων Τοπογράφων Μηχανικών
IT-SKILLS Διάλεξη Παρουσιάσεις (PowerPoint)
Εργαστήριο Εφαρμοσμένης Πληροφορικής
MS Word Κεφάλαιο 3.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING.
Microsoft Excel 4.4 Τύποι και Συναρτήσεις
Excel Κεφάλαιο 3.
Microsoft Excel 4.5 Μορφοποίηση Κίκα Χρυσοστόμου.
ΤΗΣ ΦΟΙΤΗΤΡΙΑΣ : ΤΣΑΛΤΑ ΑΝΑΣΤΑΣΙΑ Α.Μ. : 30920
Ιστοσελίδες -- Web-site. Εισαγωγή Στατικές ιστοσελίδες Δυναμικές ή Διαδραστικές ιστοσελίδες:  Ο τρόπος παρουσίασης και τα περιεχόμενά της ιστοσελίδας.
Εργασία με παράθυρα.
Microsoft PowerPoint Powerpoint Κίκα Χρυσοστόμου.
Power Point Κεφάλαιο 5.
Microsoft PowerPoint Powerpoint Κίκα Χρυσοστόμου.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αρχεία.
XERTE TUTORIAL - ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΘΜΕΛ ΣΤ. ΔΗΜΗΤΡΙΑΔΗΣ Xerte Interaction – Διάδραση Θεωρίες Μάθησης & Εκπαιδευτικό Λογισμικό Σημειώσεις Εργαστηρίου.
Microsoft Excel 4.6 Γραφήματα
DreamWeaver Παρουσίαση Εργαλείου για Ανάπτυξη Web-based GUIs 1.
Templates Standard Template Library (STL) Exceptions Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμήμα Εφαρμοσμένης Πληροφορικής.
Μορφοποίηση Παραγράφων
Applets Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού.
Microsoft PowerPoint Powerpoint Κίκα Χρυσοστόμου.
Microsoft Excel 4.3 Διαχείριση Φύλλων Εργασίας Κίκα Χρυσοστόμου.
Microsoft PowerPoint Κίκα Χρυσοστόμου. Γραφικές Παραστάσεις Γραφικές Παραστάσεις (Charts):  Column (Στήλη)  Bar (Ράβδος)  Line (Γραμμή)  Pie (Πίτα)
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
Δημιουργία προγράμματος ερωτηματολογίου Πολλαπλής Επιλογής Α. Σχεδίαση Φόρμας.
Εξομοιωτής Ψηφιακών Κυκλωμάτων
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧ/ΣΕΩΝ ΕΡΓΑΣΤΗΡΙΟ #1 ΔΔΕ. Έναρξη (Start)  Προγράμματα (Programs)  Minitab 12 for Windows.
ΠΛΗΡΟΦΟΡΙΚΗ Ι Τμήμα Λογιστικής ΤΕΙ Κρήτης Γιάννης Χρυσάκης
Εισαγωγή στο πρόγραμμα microsoft word
Power Point (Συνέχεια).
1. Πώς ανοίγουμε ένα αποθηκευμένο βιβλίο εργασίας;
Web Services στη C# Εργαστήριο 3
Το Πληκτρολόγιο.
Γραφικό Περιβάλλον Εργασίας H/Y
Άνοιγμα/κλείσιμο Υπολογιστή
Λειτουργικά Συστήματα
Μεταγράφημα παρουσίασης:

Οπτικός Προγραμματισμός  Ενσωμάτωση αντικειμένου τύπου TMainMenu από την μπάρα εργαλείων Standard. Δεν καθορίζουμε το μέγεθος και τη θέση.  Με διπλό κλίκ ενεργοποιείται ο Σχεδιαστής Μενού (Menu Designer) ο οποίος δουλέυει σε συνεργασία με τον Object Inspector.  Εισάγουμε τα Caption των επιλογών οριζόντια και κάθετα. Αν βάλουμε το & μπροστά από ένα γράμμα αυτό υπογραμμίζεται και μπορεί να επιλεγεί με Alt+γράμμα (Accelerator keys). Αν βάλουμε μία παύλα τότε εμφανίζεται διαχωριστκή γραμμή.  Μπορούμε να καθορίσουμε και μία συντόμευση πλήκτρων για ενεργοποίηση επιλογής από το μενού, καθορίζοντας το Shortcut για κάθε item (π.χ. Ctrl + X).  Καθορίζουμε αν η επιλογή είναι διαθέσιμη με την ιδιότητα Enabled.

Οπτικός Προγραμματισμός  Bitmap : Εικόνα που θα εμφανίζεται δίπλα στην επιλογή.  Break : για χωρισμό μεγάλου μενού σε στήλες.  Caption : ο τίτλος της επιλογής.  Checked : Αν θα εμφανίζεται το check mark   Default : καθορίζει την αρχική επιλογή.  Enabled : αν μπορεί να επιλεγεί ή όχι.  RadioItem : κάνει την επιλογή radio button.  ShortCut : καθορίζει συντόμευση πλήκτρων για την επιλογή (π.χ. Ctrl + X)  Visible : καθορίζει αν η επιλογή θα φαίνεται ή όχι. Με δεξί κλικ σε μία επιλογή έχουμε : Insert : Εισάγει μία επιλογή πάνω από την τρέχουσα Delete : Διαγράφει την επιλογή Create Submenu : Δημιουργεί επιπλέον υπομενού.

Οπτικός Προγραμματισμός  Κατά την δημιουργία του το κεντρικό μενού εμφανίζεται και στη φόρμα και είναι πλήρως λειτουργικό.  Για να προσδώσουμε λειτουργικότητα στις επιλογές θα πρέπει για κάθε επιλογή να πάμε στα Events (Object Inspector) και στο OnClick event να κάνουμε διπλό κλικ για να δημιουργηθεί ο event handler (συνάρτηση) μέσα στην οποία γράφουμε τον κώδικα.  Εναλλακτικά, αν υπάρχει ήδη η συνάρτηση (π.χ. για κάποιο κουμπί) τότε απλά την επιλέγουμε στο OnClick event.  Για υλοποίηση Popup μενού εισάγουμε στη φόρμα ένα αντικείμενο τύπου TPopupMenu από την μπάρα εργαλείων Standard και επαναλαμβάνουμε την διαδικασία κατασκευής του μενού.  Μπορούμε να έχουμε πολλά PopupMenu σε μία φόρμα. Για να συνδέσουμε ένα PopupMenu με ένα αντικείμενο (π.χ. Edit) αρκεί να θέσουμε το κατάλληλο Popup μενού στην ιδιότητα “Popup Menu” του συγκεκριμένου αντικειμένου.

Οπτικός Προγραμματισμός  Εισάγουμε τα αντικείμενα. Το τρίτο Label και το τρίτο Edit καθώς και τα κουμπιά τα θέτουμε μη-εμφανίσιμα. Το File menu έχει επιλογές Load, Save, Exit. Το Edit μενού έχει επιλογές Cut, Copy, Paste. Το Help έχει μόνο About.  Εισάγουμε δύο global μεταβλητές bool FileLoad=false; bool FileSave = false;  Γράφουμε συναρτήσεις για το File->Load, File->Save, File->Exit, και τα κουμπιά Go και Cancel.

Οπτικός Προγραμματισμός void __fastcall TForm1:: Load1Click(TObject *Sender) {Label1->Enabled=false; Edit1->Enabled=false; Label2->Enabled=false; Edit2->Enabled=false; Label3->Visible=true; Edit4->Visible=true; Button1->Visible=true; Button2->Visible=true; FileLoad=true;} void __fastcall TForm1:: Save1Click(TObject *Sender) {Label1->Enabled=false; Edit1->Enabled=false; Label2->Enabled=false; Edit2->Enabled=false; Label3->Visible=true; Edit4->Visible=true; Button1->Visible=true; Button2->Visible=true; FileSave=true;} void __fastcall TForm1::Button2Click(TObject *Sender) {Label1->Enabled=true; Edit1->Enabled=true; Label2->Enabled=true; Edit2->Enabled=true; Label3->Visible=false; Edit4->Visible=false; Button1->Visible=false; Button2->Visible=false; FileLoad=false; FileSave=false;} void __fastcall TForm1::Exit1Click(TObject *Sender) { Form1->Close(); }

Οπτικός Προγραμματισμός void __fastcall TForm1::Button1Click(TObject *Sender) { char filename[500],string[500];FILE *fp; if (FileLoad) {strcpy(filename,Edit4->Text.c_str()); fp=fopen(filename,"r"); if (fp==NULL) { MessageBox(NULL,"No FIle","",MB_ICONERROR); Button2Click(this); return; } fgets(string,500,fp);fclose(fp); Edit1->Text=string;} else if (FileSave) {strcpy(filename,Edit4->Text.c_str()); MessageBox(NULL,filename,"",MB_OK); fp=fopen(filename,"w"); if (fp==NULL) { MessageBox(NULL,"Cannot create FIle","",MB_ICONERROR); Button2Click(this); return; } strcpy(string,Edit1->Text.c_str());fputs(string,fp); fclose(fp); } Button2Click(this); }

Οπτικός Προγραμματισμός void __fastcall TForm1::Copy1Click(TObject *Sender) { Edit1->CopyToClipboard(); } void __fastcall TForm1::paste1Click(TObject *Sender) { Edit2->PasteFromClipboard(); } void __fastcall TForm1::Cut1Click(TObject *Sender) { Edit1->CutToClipboard(); } void __fastcall TForm1::About1Click(TObject *Sender) { AboutForm->ShowModal(); }

Οπτικός Προγραμματισμός  Εισάγουμε ένα StaticText, ένα Button, ένα PopupMenu και ένα Panel που είναι Aligned=Top, Autosize=true, DockSite=true και με ελάχιστο μέγεθος. Το Popup Menu έχει επιλογές : Floating, Anchored και Original, που κάνουν τα controls να μετακινούνται, να σταθεροποιούνται και να επανέρχονται στην αρχική θέση. Ακόμα μπορούν να κάνουν Dock στο Panel.  Εισάγουμε 4 global μεταβλητές : int OrigStaticText1Left, OrigStaticText1Top, ΟrigButton1Left, OrigButton1Top;

Οπτικός Προγραμματισμός void_fastcall TForm1::FormCreate (TObject *Sender) { OrigStaticText1Left=StaticText1->Left; OrigStaticText1Top=StaticText1->Top; OrigButton1Left=Button1->Left; OrigButton1Top=Button1->Top; } void __fastcall TForm1::Anchored1Click (TObject *Sender) { if (StaticText1->Focused()) StaticText1 - > DragKind=dkDrag; else Button1->DragKind=dkDrag; } void __fastcall TForm1::Floating1Click (TObject *Sender) { if (StaticText1->Focused()) {StaticText1->DragMode=dmAutomatic; StaticText1->DragKind = dkDock;} else {Button1->DragMode=dmAutomatic; Button1->DragKind = dkDock;} } void __fastcall TForm1::Original1Click (TObject *Sender) {if (StaticText1->Focused()) {StaticText1->Parent=Form1; StaticText1->HostDockSite=Form1; StaticText1->Left=OrigStaticText1Left; StaticText1->Top=OrigStaticText1Top; StaticText1->DragMode=dmManual; } else {Button1->Parent=Form1; Button1->HostDockSite=Form1; Button1->Left=OrigButton1Left; Button1->Top=OrigButton1Top; Button1->DragMode=dmManual;}

Οπτικός Προγραμματισμός  Το Memo χρησιμοποιείται για εισαγωγή κειμένου πολλαπλών γραμμών. Η διαχείριση του κειμένου γίνεται αυτόματα.  Το Memo μπορεί να εμφανιστεί με μπάρες ολίσθησης, να έχει αναδίπλωση λέξεων και απόλυτο όριο χαρακτήρων.  Το κείμενο του Memo βρίσκεται στην ιδιότητα Text που είναι τύπου AnsiString.  Μπορούμε να εισάγουμε σταθερό κείμενο πολλαπλών γραμμών χωρίζοντάς τες με \r\n Π.χ. Memo1->Text=“first\r\nsecond”;  Επίσης μπορούμε να χειριστούμε το κείμενο του Memo μέσω της ιδιότητας Lines που είναι τύπου TStrings.  Ο τύπος TStrings αντιπροσωπεύει ένα σύνολο strings (γραμμές) και παρέχει ιδιότητες και μεθόδους για διαχείριση του κειμένου γραμμή- γραμμή (εισαγωγή, διαγραφή, κ.λ.π.).

Οπτικός Προγραμματισμός  Κληρονομείται από την κλάση TMemo. Published Properties (Object inspector)  Alignment : (taCenter, taLeftJustify, taRightJustify) καθορίζει την στοίχιση του κειμένου μέσα στο Memo component.  BorderStyle : (bsSingle, bsNone) καθορίζει αν θα εμφανίζεται ή όχι περίγραμμα γύρω από το Memo  Constraints (MaxHeight, MaxWidth, MinHeight, MinWidth) : μπορούν να καθορίσουν άνω και κάτω όρια για το μέγεθος του component.  Font (Charset, Color, Height, Name, Pitch, Size, Style (fsBold, fsItalic, fsUnderline, fsStrikeOut)) : καθορίζει παραμέτρους του font των γραμμάτων μέσα στο Memo.  Hide Selection : κρύβει το επιλεγμένο κείμενο όταν το Memo δεν έχει το focus.

Οπτικός Προγραμματισμός Published Properties (Object inspector) - συνέχεια  Lines : αντικείμενο τύπου TStrings μέσω του οποίου μπορούμε να διαχειριστούμε το κείμενο γραμμή-γραμμή.  MaxLength : το μέγιστο πλήθος χαρακτήρων που μπορούμε να εισάγουμε. 0 σημαίνει απεριόριστο πλήθος.  ScrollBars : (ssBoth, ssHorizontal, ssVertical, ssNone) καθορίζει αν θα εμφανιστούν μπάρες ολίσθησης και ποιές.  WantReturns : (true, false) Αν θέσουμε true τότε μπορούμε να πατάμε Enter για να αλλάζουμε γραμμή. Αλλιώς (false) με Ctrl-Enter.  WantTabs : (true, false) Αν θέσουμε true τότε μπορούμε να πατάμε tab μέσα στο κείμενο αλλιώς (false) το tab αλλάζει control.  WordWrap : (true, false) αν θέσουμε true τότε όταν γεμίζει μία γραμμή συνεχίζεται στην επόμενη (χωρίς Enter). Αλλιώς (false) η γραμμή συνεχίζει ευθεία και το παράθυρο κάνει scroll.  CaretPos : (TCustomMemo) τύπου TPoint, επιστρέφει την θέση του κέρσορα (x,y) ως στήλες και γραμμές

Οπτικός Προγραμματισμός Properties (συνέχεια)  CanUndo (TCustomEdit) : (bool) επιστρέφει true εάν έχουν γίνει αλλαγές που μπορούν να «ξεγίνουν» με την μέθοδο Undo.  Modified (TCustomEdit) : (bool) επιστρέφει true εάν έχουν γίνει αλλαγές στο κείμενο του Memo.  SelLentgh (TCustomEdit) : (int) επιστρέφει το μήκος του επιλεγμένου κειμένου.  SelStart (TCustomEdit) : (int) επιστρέφει την θέση αρχής του επιλεγμένου κειμένου.  SelText (TCustomEdit) : (AnsiString) επιστρέφει ολόκληρο το επιλεγμένο κείμενο ως AnsiString. Μέθοδοι (methods) :  Clear() : καθαρίζει το κείμενο μέσα στο Memo.  ClearSelection() : καθαρίζει το επιλεγμένο κείμενο.  CutToClipboard(), CopyToClipboard(), PasteFromClipboard() : όλες οι ενέργειες γίνονται με το επιλεγμένο κείμενο.

Οπτικός Προγραμματισμός Methods (συνέχεια)  GetSelTextBuffer() : επιστρέφει το επιλεγμένο κείμενο  SelectAll() : μαρκάρει όλο το κείμενο ως επιλεγμένο  ClearUndo() : καθαρίζει τον buffer του Undo  Undo() :επαναφέρει τις αλλαγές που έγιναν από το τελευταίο ClearUndo Events (Συμβάντα) : OnChange, OnClick, OnContextPopup, OnDblClick, OnDragDrop, OnDragOver, OnEndDock, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp, OnStartDock, OnStartDrag. TStrings Properties : Capacity, Count, CommaText, Strings[i], Text TStrings Methods : Add, Delete(i), IndexOf(s), Insert(i,s), LoadFromFile(filename), Move(old_i,new_i), SaveToFile(filename), Παράδειγμα : Memo1->Lines->CommaText=“first,second” s=“New Line”; Memo1->Lines->Insert(2,s); Memo1->Lines->SaveToFile(“Text1.txt”);

Οπτικός Προγραμματισμός Εισάγουμε ένα Memo με Scrollbars, 4 Buttons, 2 Edit και 2 Labels. Τα Edit μας δίνουν τη θέση του κέρσορα. Αυτό γίνεται παγιδεύοντας το OnKeyDown και το OnMouseDown. Τη θέση την παίρνουμε από το Memo1->Lines->CaretPos. Το κουμπί ShowText μας δείχνει το περιεχόμενο κείμενο σε MessageBox. Το InsertLine εισάγει μία γραμμή στη θέση του κέρσορα. To Delete Line σβήνει τη γραμμή στη θέση του κέρσορα. Το Undo επαναφέρει την προηγούμενη ενέργεια με κλήση της Undo();

Οπτικός Προγραμματισμός void __fastcall TForm1::Memo1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) {int x = Memo1->CaretPos.x; int y = Memo1->CaretPos.y; Edit1->Text=x; Edit2->Text=y;} void __fastcall TForm1::void __fastcall TForm1::Memo1KeyUp (TObject *Sender, WORD &Key, TShiftState Shift) { Memo1MouseDown (Sender,mbLeft,Shift,0,0); } void __fastcall TForm1::Button1Click(TObject *Sender) { MessageBox(NULL, Memo1-> Text.c_str(), "",MB_OK);} void __fastcall TForm1::Button2Click(TObject *Sender) { int curline=Edit2->Text.ToInt(); Memo1->Lines->Insert(curline,"");} void __fastcall TForm1::Button3Click(TObject *Sender) { int curline=Edit2->Text.ToInt(); Memo1->Lines->Delete(curline);} void __fastcall TForm1::Button4Click(TObject *Sender) {Memo1->Undo();}