Bloc de notas en C++ Builder by DaW - Labs

Iniciado por .:WindHack:., 15 Mayo 2010, 05:54 AM

0 Miembros y 1 Visitante están viendo este tema.

.:WindHack:.

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.



Programado en: Borland C++ Builder

Descargar: Box.net – Notepad(C++).rar

Código:

Código (cpp) [Seleccionar]
//---------------------------------------------------------------------------//
//---------------------------------------------------------------------------//
//-------------------- Notepad(C++) by DaW - Labs  ----------------------//
//---------------------------------------------------------------------------//
//   Éste es un bloc de notas programado en C++ Builder.
//   Si deseas compartirlo o mejorarlo puedes hacerlo, pero respeta la
//   fuente y el autor del mismo.
//   Desarrollado por DaW - Labs®
//--------------------------------------------------------------------------//

#include <vcl.h>
#include <clipbrd.hpp>
#pragma hdrstop

#include "uMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmMain *frmMain;
UnicodeString FileName;

const
UnicodeString Espacio = " - ";
UnicodeString App = "Notepad (C++) ";
UnicodeString NuevoTexto = "Sin_título.txt";
//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
MemoEditor->Align = alClient;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::Abrir1Click(TObject *Sender)
{
if (OpenDialog->Execute() == True) {
{
FileName = OpenDialog->FileName;
MemoEditor->Lines->LoadFromFile(FileName);
Caption = ExtractFileName(FileName)+Espacio+App;
MemoEditor->Modified = False;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::Guardar1Click(TObject *Sender)
{
if (FileName == "")
{
if (SaveDialog->Execute())
  {
FileName = SaveDialog->FileName;
MemoEditor->Lines->SaveToFile(FileName);
Caption = ExtractFileName(FileName)+Espacio+App;
MemoEditor->Modified = False;
  }
}
else
{
MemoEditor->Lines->SaveToFile(FileName);
Caption = ExtractFileName(FileName)+Espacio+App;
MemoEditor->Modified = False;
}
}

//---------------------------------------------------------------------------
void __fastcall TfrmMain::Nuevo1Click(TObject *Sender)
{
if (MemoEditor->Modified == False)
{
MemoEditor->Clear();
FileName = "";
MemoEditor->Modified = False;
Caption = NuevoTexto+Espacio+App;
}
else
{
switch (MessageBox(Handle,"¿Desea guardar los cambios?","Información", MB_YESNO | MB_ICONQUESTION))
{
case IDYES:
Guardar1Click(Sender);
break;

case IDNO:
MemoEditor->Clear();
FileName = "";
MemoEditor->Modified = False;
Caption = NuevoTexto+Espacio+App;
break;
   }
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::Guardarcomo1Click(TObject *Sender)
{
if (SaveDialog->Execute())
{
FileName = SaveDialog->FileName;
MemoEditor->Lines->SaveToFile(FileName);
Caption = ExtractFileName(FileName)+Espacio+App;
MemoEditor->Modified = False;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::Salir1Click(TObject *Sender)
{
Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EditCut1Execute(TObject *Sender)
{
MemoEditor->CutToClipboard();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EditCopy1Execute(TObject *Sender)
{
MemoEditor->CopyToClipboard();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EditPaste1Execute(TObject *Sender)
{
MemoEditor->PasteFromClipboard();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EditSelectAll1Execute(TObject *Sender)
{
MemoEditor->SelectAll();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EditUndo1Execute(TObject *Sender)
{
MemoEditor->Undo();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EditDelete1Execute(TObject *Sender)
{
MemoEditor->ClearSelection();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EditCopy1Update(TObject *Sender)
{
EditCopy1->Enabled = MemoEditor->SelLength > 0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EditPaste1Update(TObject *Sender)
{
EditPaste1->Enabled = Clipboard()->HasFormat(CF_TEXT);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EditUndo1Update(TObject *Sender)
{
EditUndo1->Enabled = MemoEditor->CanUndo;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::FuenteClick(TObject *Sender)
{
FontDialog->Font->Assign(MemoEditor->Font);
if (FontDialog->Execute())
{
MemoEditor->Font->Assign(FontDialog->Font);
}
}
//---------------------------------------------------------------------------


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

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."