Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: .:WindHack:. en 15 Mayo 2010, 05:54 am



Título: Bloc de notas en C++ Builder by DaW - Labs
Publicado por: .:WindHack:. en 15 Mayo 2010, 05:54 am
Estaba aburrido, no tenía nada que hacer, así que me puse a programar algo en C++.

Éste es un bloc de notas sencillo, pero con las funcionalidades esenciales. Perdonen si hay errores o si el código no está completamente optimizado, pues no programo mucho en este lenguaje.

Espero sirva de base o mejor dicho de ejemplo.

(http://daw-labs.com/wp-content/uploads/2010/05/Notepad.png)

Programado en: Borland C++ Builder (http://es.wikipedia.org/wiki/C%2B%2B_Builder)

Descargar: Box.net – Notepad(C++).rar (http://www.box.net/shared/zp74oqc24k)

Código:

Código
  1. //---------------------------------------------------------------------------//
  2. //---------------------------------------------------------------------------//
  3. //-------------------- Notepad(C++) by DaW - Labs  ----------------------//
  4. //---------------------------------------------------------------------------//
  5. //   Éste es un bloc de notas programado en C++ Builder.
  6. //   Si deseas compartirlo o mejorarlo puedes hacerlo, pero respeta la
  7. //   fuente y el autor del mismo.
  8. //   Desarrollado por DaW - Labs®
  9. //--------------------------------------------------------------------------//
  10.  
  11. #include <vcl.h>
  12. #include <clipbrd.hpp>
  13. #pragma hdrstop
  14.  
  15. #include "uMain.h"
  16. //---------------------------------------------------------------------------
  17. #pragma package(smart_init)
  18. #pragma resource "*.dfm"
  19. TfrmMain *frmMain;
  20. UnicodeString FileName;
  21.  
  22. const
  23. UnicodeString Espacio = " - ";
  24. UnicodeString App = "Notepad (C++) ";
  25. UnicodeString NuevoTexto = "Sin_título.txt";
  26. //---------------------------------------------------------------------------
  27. __fastcall TfrmMain::TfrmMain(TComponent* Owner)
  28. : TForm(Owner)
  29. {
  30. }
  31. //---------------------------------------------------------------------------
  32. void __fastcall TfrmMain::FormCreate(TObject *Sender)
  33. {
  34. MemoEditor->Align = alClient;
  35. }
  36. //---------------------------------------------------------------------------
  37. void __fastcall TfrmMain::Abrir1Click(TObject *Sender)
  38. {
  39. if (OpenDialog->Execute() == True) {
  40. {
  41. FileName = OpenDialog->FileName;
  42. MemoEditor->Lines->LoadFromFile(FileName);
  43. Caption = ExtractFileName(FileName)+Espacio+App;
  44. MemoEditor->Modified = False;
  45. }
  46. }
  47. }
  48. //---------------------------------------------------------------------------
  49. void __fastcall TfrmMain::Guardar1Click(TObject *Sender)
  50. {
  51. if (FileName == "")
  52. {
  53. if (SaveDialog->Execute())
  54.  {
  55. FileName = SaveDialog->FileName;
  56. MemoEditor->Lines->SaveToFile(FileName);
  57. Caption = ExtractFileName(FileName)+Espacio+App;
  58. MemoEditor->Modified = False;
  59.  }
  60. }
  61. else
  62. {
  63. MemoEditor->Lines->SaveToFile(FileName);
  64. Caption = ExtractFileName(FileName)+Espacio+App;
  65. MemoEditor->Modified = False;
  66. }
  67. }
  68.  
  69. //---------------------------------------------------------------------------
  70. void __fastcall TfrmMain::Nuevo1Click(TObject *Sender)
  71. {
  72. if (MemoEditor->Modified == False)
  73. {
  74. MemoEditor->Clear();
  75. FileName = "";
  76. MemoEditor->Modified = False;
  77. Caption = NuevoTexto+Espacio+App;
  78. }
  79. else
  80. {
  81. switch (MessageBox(Handle,"¿Desea guardar los cambios?","Información", MB_YESNO | MB_ICONQUESTION))
  82. {
  83. case IDYES:
  84. Guardar1Click(Sender);
  85. break;
  86.  
  87. case IDNO:
  88. MemoEditor->Clear();
  89. FileName = "";
  90. MemoEditor->Modified = False;
  91. Caption = NuevoTexto+Espacio+App;
  92. break;
  93.   }
  94. }
  95. }
  96. //---------------------------------------------------------------------------
  97. void __fastcall TfrmMain::Guardarcomo1Click(TObject *Sender)
  98. {
  99. if (SaveDialog->Execute())
  100. {
  101. FileName = SaveDialog->FileName;
  102. MemoEditor->Lines->SaveToFile(FileName);
  103. Caption = ExtractFileName(FileName)+Espacio+App;
  104. MemoEditor->Modified = False;
  105. }
  106. }
  107. //---------------------------------------------------------------------------
  108. void __fastcall TfrmMain::Salir1Click(TObject *Sender)
  109. {
  110. Application->Terminate();
  111. }
  112. //---------------------------------------------------------------------------
  113. void __fastcall TfrmMain::EditCut1Execute(TObject *Sender)
  114. {
  115. MemoEditor->CutToClipboard();
  116. }
  117. //---------------------------------------------------------------------------
  118. void __fastcall TfrmMain::EditCopy1Execute(TObject *Sender)
  119. {
  120. MemoEditor->CopyToClipboard();
  121. }
  122. //---------------------------------------------------------------------------
  123. void __fastcall TfrmMain::EditPaste1Execute(TObject *Sender)
  124. {
  125. MemoEditor->PasteFromClipboard();
  126. }
  127. //---------------------------------------------------------------------------
  128. void __fastcall TfrmMain::EditSelectAll1Execute(TObject *Sender)
  129. {
  130. MemoEditor->SelectAll();
  131. }
  132. //---------------------------------------------------------------------------
  133. void __fastcall TfrmMain::EditUndo1Execute(TObject *Sender)
  134. {
  135. MemoEditor->Undo();
  136. }
  137. //---------------------------------------------------------------------------
  138. void __fastcall TfrmMain::EditDelete1Execute(TObject *Sender)
  139. {
  140. MemoEditor->ClearSelection();
  141. }
  142. //---------------------------------------------------------------------------
  143. void __fastcall TfrmMain::EditCopy1Update(TObject *Sender)
  144. {
  145. EditCopy1->Enabled = MemoEditor->SelLength > 0;
  146. }
  147. //---------------------------------------------------------------------------
  148. void __fastcall TfrmMain::EditPaste1Update(TObject *Sender)
  149. {
  150. EditPaste1->Enabled = Clipboard()->HasFormat(CF_TEXT);
  151. }
  152. //---------------------------------------------------------------------------
  153. void __fastcall TfrmMain::EditUndo1Update(TObject *Sender)
  154. {
  155. EditUndo1->Enabled = MemoEditor->CanUndo;
  156. }
  157. //---------------------------------------------------------------------------
  158. void __fastcall TfrmMain::FuenteClick(TObject *Sender)
  159. {
  160. FontDialog->Font->Assign(MemoEditor->Font);
  161. if (FontDialog->Execute())
  162. {
  163. MemoEditor->Font->Assign(FontDialog->Font);
  164. }
  165. }
  166. //---------------------------------------------------------------------------
  167.  

Respeten la fuente y el autor (DaW - Labs).