home *** CD-ROM | disk | FTP | other *** search
- import BP, cPickle
-
- def LoadNote(Sender):
- i = List.ItemIndex
- if i > -1:
- key = List.Items[i]
- Title.Text = key
- Display.Checked, Memo.Lines.Text = Notes[key]
-
- def AddNote(Sender):
- global Notes
- s = Title.Text
- if s == "":
- BP.MsgBox("Vous devez saisir le titre de la note α crΘer", 64)
- else:
- if not Notes.has_key(s) or BP.MsgBox("Mettre α jour la note ½ %s ╗ ?" %s, MB_YESNO+64) == IDYES:
- Notes[s] = (Display.Checked, Memo.Lines.Text)
- Refresh()
-
- def DelNote(Sender):
- global Notes
- i = List.ItemIndex
- if i > -1:
- key = List.Items[i]
- if BP.MsgBox("Supprimer la note ½ %s ╗ ?" %key, MB_YESNO+64) == IDYES:
- del Notes[key]
- Refresh()
-
- def Refresh():
- i = List.ItemIndex
- k = Notes.keys()
- k.sort()
- List.Items.Text = "\n".join(k)
- if len(k) > 0:
- if i == -1: i = 0
- elif i >= len(k): i = len(k) - 1
- List.ItemIndex = i
- LoadNote(None)
-
- f = CreateComponent("TForm", None)
- f.SetProps(Width=620, Height=400, Position="poMainFormCenter", Caption="Notes")
- f.Font.Name = "Tahoma"
- f.Constraints.MinWidth=620
- f.Constraints.MinHeight=400
-
- g1 = CreateComponent("TGroupBox", f)
- g1.SetProps(Parent=f, Caption="Notes", Left=30, Top=30, Width=200, Height=300, Anchors=["akLeft", "akTop", "akBottom"])
- List = CreateComponent("TListBox", f)
- List.SetProps(Parent=g1, Left=20, Top=20, Width=160, Height=265, Anchors=["akLeft", "akTop", "akBottom"], OnClick=LoadNote)
-
- g2 = CreateComponent("TGroupBox", f)
- g2.SetProps(Parent=f, Caption="Note sΘlectionnΘe", Left=290, Top=30, Width=300, Height=300, Anchors=["akLeft", "akTop", "akRight", "akBottom"])
- L1 = CreateComponent("TLabel", f)
- L1.SetProps(Parent=g2, Left=20, Top=35, Caption="Titre :")
- Title = CreateComponent("TEdit", f)
- Title.SetProps(Parent=g2, Left=80, Top=30, Width=190, Text="", Anchors=["akLeft", "akTop", "akRight"])
- Display = CreateComponent("TCheckBox", f)
- Display.SetProps(Parent=g2, Left=20, Top=60, Width=230, Caption="Afficher au chargement d'un fichier")
- Memo = CreateComponent("TMemo", f)
- Memo.SetProps(Parent=g2, Left=20, Top=90, Width=250, Height=190, Anchors=["akLeft", "akTop", "akRight", "akBottom"])
-
- BAdd = CreateComponent("TButton", f)
- BAdd.SetProps(Parent=f, Caption="½", Left=245, Top=120, Width=30, Height=30, Anchors=["akLeft"], OnClick=AddNote)
- BAdd.Font.Size=12
-
- BDel = CreateComponent("TButton", f)
- BDel.SetProps(Parent=f, Caption="╗", Left=245, Top=160, Width=30, Height=30, Anchors=["akLeft"], OnClick=DelNote)
- BDel.Font.Size=12
-
- BCnl = CreateComponent("TButton", f)
- BCnl.SetProps(Parent=f, Caption="Annuler", Left=400, Top=350, Width=90, Height=25, Anchors=["akRight", "akBottom"], ModalResult=2, Cancel=1)
-
- BOK = CreateComponent("TButton", f)
- BOK.SetProps(Parent=f, Caption="OK", Left=500, Top=350, Width=90, Height=25, Anchors=["akRight", "akBottom"], ModalResult=1, Default=1)
-
- path = "%sScripts\\Notes\\notes.dat" %BP.BankPerfectExePath()
- try:
- fl = open(path, "r")
- Notes = cPickle.load(fl)
- fl.close()
- except:
- Notes = {}
-
- Refresh()
- f.ShowModal()
-
- if f.ModalResult == 1:
- f = open(path, "w")
- cPickle.dump(Notes, f)
- f.close()