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.

Imagen


Programado en: [Enlace externo eliminado para invitados]

Descargar: [Enlace externo eliminado para invitados]

Código:

Código: Seleccionar todo

//---------------------------------------------------------------------------//
//---------------------------------------------------------------------------//
//-------------------- 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).
Imagen

Imagen

Imagen

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

Volver a “Otros lenguajes”