IUP_FB_EDITOR (simple development environment)

User projects written in or related to FreeBASIC.
Post Reply
VANYA
Posts: 1834
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: IUP_FB_EDITOR (simple development environment)

Post by VANYA »

Hi jepalza!

You can write a plugin and I will add it to the editor distribution. There are examples in the plugins folder, everything is pretty simple there.
Kuan Hsu created 1 plugin
SARG created 2 plugins
And they are in the editor's distribution.

In your case, you just need to start the timer in the plugin and execute the marcado_de_palabras_iguales procedure according to the timer. Thank you for noticing the editor!
Lothar Schirm
Posts: 436
Joined: Sep 28, 2013 15:08
Location: Germany

Re: IUP_FB_EDITOR (simple development environment)

Post by Lothar Schirm »

Perfect editor!!! Since I do not use window9, I replaced the keywords in the file "keyword3" by the Windows API keywords from JellyFB, because I use Windows API only for smaller projects. Works fantastic for me! :D
VANYA
Posts: 1834
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: IUP_FB_EDITOR (simple development environment)

Post by VANYA »

@Lothar Schirm , I'm glad you like it
jepalza
Posts: 149
Joined: Feb 24, 2010 10:08
Location: Spain (Bilbao)

Re: IUP_FB_EDITOR (simple development environment)

Post by jepalza »

Vanya: This would be the plugin. I hope this helps and that it is correct. In my case it works.
I use a TIMER every 0,5 seconds, to avoid that it makes too many calls and slows down the editor. It would be nice to be able to change the colour in the menus, but I don't know how to do it, and by default I always leave it in "yellow" colour.


Final version here -> viewtopic.php?p=297613#p297613
Last edited by jepalza on Mar 27, 2023 17:54, edited 1 time in total.
VANYA
Posts: 1834
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: IUP_FB_EDITOR (simple development environment)

Post by VANYA »

@jepalza

Can be made easier:

1) Create a settings file for your plugin in the plugins folder, and this will become the ability to change the color settings and the timer delay. This can be done directly in your plugin (in the InitPluginProc procedure). Sample code template:

Code: Select all

function InitPluginProc ....

#ifdef __FB_WIN32__
dim as string sSep = "\"
#else
dim as string sSep = "/"
#EndIf

dim as string sFileIniPath = exepath & sSep & "plugins" & sSep & "plug_highlight_coincidences.ini"

dim f as Integer = FreeFile

if FILEEXISTS(sFileIniPath) then ' if the settings file exists
	
	open sFileIniPath for Binary Access Read As f
	
	' here's reading the settings:
	'1) get word highlight color
	'2) get the delay for the timer
		
else ' the first run of the plugin and the settings file does not exist yet

	open sFileIniPath for Binary As f
	
	' here saving the settings:
	'1) save the default color for highlighting words (&H00FFFF)
	'2) save the delay for the timer (0.5sec)
	
EndIf

.....
.....

2) Specify this information in the plugin description (info...). By reading the information file for your plugin, the user will understand how to change the color and delay of the timer if they are not satisfied with the default values.
Lothar Schirm
Posts: 436
Joined: Sep 28, 2013 15:08
Location: Germany

Re: IUP_FB_EDITOR (simple development environment)

Post by Lothar Schirm »

VANYA wrote: Mar 26, 2023 3:16 @Lothar Schirm , I'm glad you like it
I also look often on your website (https://users.freebasic-portal.de/freebasicru/), using the Google translation into English. Great work, a really rich source for FreeBasic programmers. For me, the article series "FreeBasic + API" is the best Windows API tutorial I found up to now.
Down0901
Posts: 3
Joined: Mar 26, 2023 18:23

Re: IUP_FB_EDITOR (simple development environment)

Post by Down0901 »

Hi VANYA,

I have just recently discovered this IDE and am quite liking it, so firstly thank you very much for this 👍.

I have been using it for projects and a few questions have come up.
  • Is it possible to remove a referrence to a file in a project without deleting the file? I thought "Delete current" would do it, but it deletes the file.
  • Once a file has been added is there a way to toggle it between being a module and normal file?
Many thanks
VANYA
Posts: 1834
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: IUP_FB_EDITOR (simple development environment)

Post by VANYA »

Hi all!
Lothar Schirm wrote: Mar 26, 2023 11:10 I also look often on your website (https://users.freebasic-portal.de/freebasicru/), using the Google translation into English. Great work, a really rich source for FreeBasic programmers. For me, the article series "FreeBasic + API" is the best Windows API tutorial I found up to now.
Thank you!

@Down0901 on both questions: there are no such functionalities. I'll add this to my to-do list. And thanks for noticing the editor!
jepalza
Posts: 149
Joined: Feb 24, 2010 10:08
Location: Spain (Bilbao)

Re: IUP_FB_EDITOR (simple development environment)

Post by jepalza »

This would be the final version of the matching text markup plugin, with very simple configuration file: emphasis colour, alpha blending and update delay.

File: plug_highlight_coincidences.bas

Code: Select all

#Include "../tlist.bi"
#include "../declarations.bi"

dim shared as T_GlobalVariables Ptr TGlobalVariablesDll

Dim Shared As Integer HG_emphasiscolor=&h00FFFF
Dim Shared As Integer HG_alphablending=&h40
Dim Shared As Integer HG_updatedelay=500


' jepalza , necesarios en scintilla
#Define SCI_SETINDICATORCURRENT 2500
#Define SCI_GETINDICATORCURRENT 2501
#Define SCI_SETINDICATORVALUE 2502
#Define SCI_GETINDICATORVALUE 2503
#Define SCI_INDICATORFILLRANGE 2504
#Define SCI_INDICATORCLEARRANGE 2505

#define SCI_INDICSETSTYLE 2080
#define SCI_INDICSETFORE 2082
#define SCI_INDICSETUNDER 2510
#define SCI_INDICSETALPHA 2523

#define INDIC_PLAIN 0
#define INDIC_SQUIGGLE 1
#define INDIC_TT 2
#define INDIC_DIAGONAL 3
#define INDIC_STRIKE 4
#define INDIC_HIDDEN 5
#define INDIC_BOX 6
#define INDIC_ROUNDBOX 7
#Define INDIC_CONTAINER 8

'jepalza: marcado de palabras coincidentes
Sub marcado_de_palabras_iguales2()
   Dim As Long idTabs = Val(*IupGetAttribute(TGlobalVariablesDll->tabs, "VALUEPOS"))
	Dim As iHandle Ptr ih=TGlobalVariablesDll->tTabsOptions(idTabs).multitext ' manejador al texto 

	' antes de hacer ninguna otras cosa, borramos los posibles anteriores marcadores   	
   Dim As Integer CurrentIndicator=8 ' cualquiera entre 1 y 31
   
   ' caracteres en el fichero (total de bytes que ocupan)
   Dim as Long iLenDoc = IupGetInt(ih, "COUNT")

   
   ' borra los anteriores marcadores nada mas entrar
   IupScintillaSendMessage( ih , SCI_SETINDICATORCURRENT , CurrentIndicator , 0) ' indicador 8
   IupScintillaSendMessage( ih , SCI_INDICATORCLEARRANGE , 0 , Cast(ZString ptr,iLenDoc) ) ' total de caracteres del fichero


   ' coge el texto seleccionado 
   Dim As string sSelectionText = *IupGetAttribute(TGlobalVariablesDll->tTabsOptions(idTabs).multitext, "SELECTEDTEXT")
   If sSelectionText="" Then Exit Sub ' en caso de no haber seleccionado nada, sale
   Dim As Integer iLenFind=Len(sSelectionText) ' longitud del texto (se puede con scintilla, pero vale asi)

   ' coge el inicio y final del texto seleccionado
   Dim As Integer cpMin=CInt(IupScintillaSendMessage( ih , SCI_GETSELECTIONSTART , 0 , 0))
   Dim As Integer cpMax=CInt(IupScintillaSendMessage( ih , SCI_GETSELECTIONEND , 0 , 0))
   'Dim As Integer iLenFind=cpMax-cpMin ' longitud del texto


	Dim As integer selectedStyle = CInt(IupScintillaSendMessage( ih , SCI_GETSTYLEAT , cpMin , 0)) ' coge el estilo del texto seleccionado

   Dim As Integer style = -1
	Dim As Integer offset = 0

	'IupScintillaSendMessage( ih , SCI_SETSEARCHFLAGS , SCFIND_WHOLEWORD , 0)  '&h00100002 
	IupScintillaSendMessage( ih , SCI_SETTARGETSTART, offset,0)
	IupScintillaSendMessage( ih , SCI_SETTARGETEND, iLenDoc,0)
	Dim As integer indexOf = Cint(IupScintillaSendMessage( ih , SCI_SEARCHINTARGET , iLenFind , StrPtr(sSelectionText) )) 

	While (indexOf <> -1) 	
		style = CInt(IupScintillaSendMessage( ih , SCI_GETSTYLEAT, indexOf,0))
			If (selectedStyle = style) Then ' hay coincidencia
				IupScintillaSendMessage( ih , SCI_SETINDICATORCURRENT, CurrentIndicator,Cast(ZString ptr,0) ) ' INDICADOR 8 (PUEDE SER 1)
				IupScintillaSendMessage( ih , SCI_INDICSETALPHA, CurrentIndicator, Cast(ZString ptr,HG_alphablending) ) ' TRANSPARENCIA
				IupScintillaSendMessage( ih , SCI_INDICSETSTYLE, CurrentIndicator, Cast(ZString ptr,INDIC_CONTAINER) ) ' TIPO 8=CAJA
				IupScintillaSendMessage( ih , SCI_INDICSETFORE, CurrentIndicator, Cast(ZString ptr,HG_emphasiscolor) ) ' AMARILLO
				IupScintillaSendMessage( ih , SCI_INDICATORFILLRANGE, IndexOf, Cast(ZString ptr,iLenFind) ) ' INICIO + LONG. DEL TEXTO
			End If
		offset = indexOf + iLenFind ' busca el siguiente
		IupScintillaSendMessage( ih , SCI_SETTARGETSTART, offset,0)
		IupScintillaSendMessage( ih , SCI_SETTARGETEND, iLenDoc,0)
		indexOf = Cint(IupScintillaSendMessage( ih , SCI_SEARCHINTARGET , iLenFind , StrPtr(sSelectionText) )) 
	Wend

End Sub


Function marcado_de_palabras_iguales_CALLBACK Cdecl (ih As Ihandle Ptr) As Integer

	'IupMessage("Informacion","Marcador de palabras")
	marcado_de_palabras_iguales2()

	return IUP_DEFAULT
End Function

function InitPluginProc(TGlobalVariables as T_GlobalVariables Ptr , pszDimErrors() as zstring ptr , bEncodingBool() as byte , szEncodingString as any ptr) as Integer Export
	if TGlobalVariables = 0 then return 0
	
	TGlobalVariablesDll = TGlobalVariables


	#ifdef __FB_WIN32__
	dim as string sSep = "\"
	#else
	dim as string sSep = "/"
	#EndIf
	
	dim as string sFileIniPath = exepath & sSep & "plugins" & sSep & "plug_highlight_coincidences.ini"
	
	dim f as Integer = FreeFile
	
	if FILEEXISTS(sFileIniPath) then ' if the settings file exists
		
		open sFileIniPath for input As f
      	Dim As String sBuffer
      	Line Input #f, sBuffer
      	Line Input #f, sBuffer
		Close f
		HG_emphasiscolor=Val(sBuffer):sbuffer=Mid(sBuffer,InStr(sBuffer,",")+1)
		HG_alphablending=Val(sBuffer):sbuffer=Mid(sBuffer,InStr(sBuffer,",")+1)
		HG_updatedelay=Val(sBuffer)
		
	else ' the first run of the plugin and the settings file does not exist yet
	
		open sFileIniPath for Output As f
      	Dim As String sBuffer
      	sBuffer = "; emphasis color, alpha blending, update delay ms."
      	Print #f, sBuffer
      	sBuffer = "&h00FFFF,&h40,500"
      	Print #f, sBuffer
		Close f
		
	EndIf


	'dim as ihandle ptr pPlugItem = IupItem("HighLigthing Matches", NULL)
	'IupSetCallback (pPlugItem, "ACTION", Cast(Any Ptr,@marcado_de_palabras_iguales_CALLBACK()))
	'Dim as ihandle ptr hItemEdit = IupGetChild(IupGetChild(main_menu, 1),0)
	'IupAppend( hItemEdit, pPlugItem )
	'IupMap(pPlugItem)
		
	Dim As Ihandle Ptr hTimer = IUPtimer()
	IupSetAttribute(hTimer, "TIME", str(HG_updatedelay)) ' solo cada 0,5 segundos, para evitar el colapso
	IupSetCallback (hTimer, "ACTION_CB", Cast(Any Ptr,@marcado_de_palabras_iguales_CALLBACK() ))
	IupSetAttribute(hTimer, "RUN", "YES")
	IupMap(hTimer)
	
	return 1	
End Function
Down0901
Posts: 3
Joined: Mar 26, 2023 18:23

Re: IUP_FB_EDITOR (simple development environment)

Post by Down0901 »

Hi VANYA,

Another request to consider would be a way to move a line of code up and down? For instance in visual studio I often use the key combination "alt + up" or "alt + down" and it then moves the current line of code the caret is on to either the next or previous line. You could also add these as a menu options under "Edit".

Thanks
VANYA
Posts: 1834
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: IUP_FB_EDITOR (simple development environment)

Post by VANYA »

Down0901 wrote:Another request to consider would be a way to move a line of code up and down? For instance in visual studio I often use the key combination "alt + up" or "alt + down" and it then moves the current line of code the caret is on to either the next or previous line. You could also add these as a menu options under "Edit".
I will think about it
jepalza wrote:This would be the final version of the matching text markup plugin, with very simple configuration file: emphasis colour, alpha blending and update delay.
This is your plugin project! If you decide to finish its development, then so be it.
For my part, I can only make some edits in the plugins if there are obvious errors or something can be improved quickly. So for example, I'm thinking of defaulting to 100ms delay, because 500 is probably too much. I checked on a relatively weak laptop (pentium 2-core) and did not see any performance loss at a value of 100. I also added a check how many tabs are currently active (otherwise the CRASHED editor on Linux, when not a single tab is open).
Anyway thanks for the plugin. The next time I update the editor, I will put your plugin in the office. assembly.
jepalza
Posts: 149
Joined: Feb 24, 2010 10:08
Location: Spain (Bilbao)

Re: IUP_FB_EDITOR (simple development environment)

Post by jepalza »

I agree, the delay time is just to avoid possible problems with very large files (say, a megabyte in size :lol: ) or very slow PCs. It is one more parameter to be able to control if necessary. As we would say in Spain "mejor que sobre a que falte" (better than too much than too little).
VANYA
Posts: 1834
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: IUP_FB_EDITOR (simple development environment)

Post by VANYA »

Update:

1) fixed poseidonOutline plugin (when the plugin settings file did not exist, it led to CRASH)
2) added check in TQUEUE for the validity of the pointer just in case
3) on a Windows 7 Starter system, it was found that the linker could not link the plugin with libraries from the project root. Therefore, I forcibly added #libpath "."
4) added a plugin from jepalza that highlights identical occurrences when text is selected (thanks jepalza)
5) added "detach file from project" functionality
6) added functionality: "EOL characters to display"
7) added information component in the dialog for plugins
8} parser error with END IF combination fixed
9) added the ability to change the autocomplete entry END IF , that is, now you can both ENDIF and END IF (switching in the settings)
10) removed the encountered END IF in the source codes of the editor, so that it would be the same everywhere
11) fixed auto-completion error on the "ENTER" key. When the auto-completion list appeared, extra spaces or tabs appeared when pressing "ENTER"
12) keyboard shortcuts for: (delete a line, delete part of a line, duplicate a line) have been added to the editor's help

Help file updated, including on the editor's site: https://iupfbeditor.sourceforge.io/index.html
jepalza
Posts: 149
Joined: Feb 24, 2010 10:08
Location: Spain (Bilbao)

Re: IUP_FB_EDITOR (simple development environment)

Post by jepalza »

Good!

But... my plugin has a little bug... :oops: :oops:

I have found that if I use the search with styles, it only finds texts with the same style. That is, if you select a text with a font type "BOLD", it does find the texts with the same style BOLD, but does not find normal texts. That's because of the lines:

Code: Select all

	selectedStyle = CInt(IupScintillaSendMessage( ih , SCI_GETSTYLEAT , cpMin , 0)) 
	style = CInt(IupScintillaSendMessage( ih , SCI_GETSTYLEAT, indexOf,0))
	If (selectedStyle = style) Then .....
Also, if you select "only" white spaces, they are marked, and it's no good.
I've fixed those two bugs, and this is the correct code (for next revision)

Code: Select all

#Include "../tlist.bi"
#include "../declarations.bi"

dim shared as T_GlobalVariables Ptr TGlobalVariablesDll

Dim Shared As Integer HG_emphasiscolor=&h00FFFF
Dim Shared As Integer HG_alphablending=&h40
Dim Shared As Integer HG_updatedelay=100


' jepalza , necesarios en scintilla
#Define SCI_SETINDICATORCURRENT 2500
#Define SCI_GETINDICATORCURRENT 2501
#Define SCI_SETINDICATORVALUE 2502
#Define SCI_GETINDICATORVALUE 2503
#Define SCI_INDICATORFILLRANGE 2504
#Define SCI_INDICATORCLEARRANGE 2505

#define SCI_INDICSETSTYLE 2080
#define SCI_INDICSETFORE 2082
#define SCI_INDICSETUNDER 2510
#define SCI_INDICSETALPHA 2523

#define INDIC_PLAIN 0
#define INDIC_SQUIGGLE 1
#define INDIC_TT 2
#define INDIC_DIAGONAL 3
#define INDIC_STRIKE 4
#define INDIC_HIDDEN 5
#define INDIC_BOX 6
#define INDIC_ROUNDBOX 7
#Define INDIC_CONTAINER 8

'jepalza: marcado de palabras coincidentes
Sub marcado_de_palabras_iguales2()
   Dim As Long idTabs = Val(*IupGetAttribute(TGlobalVariablesDll->tabs, "VALUEPOS"))
	Dim As iHandle Ptr ih=TGlobalVariablesDll->tTabsOptions(idTabs).multitext ' manejador al texto 

	' antes de hacer ninguna otras cosa, borramos los posibles anteriores marcadores   	
   Dim As Integer CurrentIndicator=8 ' cualquiera entre 1 y 31
   
   ' caracteres en el fichero (total de bytes que ocupan)
   Dim as Long iLenDoc = IupGetInt(ih, "COUNT")

   
   ' borra los anteriores marcadores nada mas entrar
   IupScintillaSendMessage( ih , SCI_SETINDICATORCURRENT , CurrentIndicator , 0) ' indicador 8
   IupScintillaSendMessage( ih , SCI_INDICATORCLEARRANGE , 0 , Cast(ZString ptr,iLenDoc) ) ' total de caracteres del fichero


   ' coge el texto seleccionado 
   Dim As string sSelectionText = *IupGetAttribute(TGlobalVariablesDll->tTabsOptions(idTabs).multitext, "SELECTEDTEXT")
   If sSelectionText="" Then Exit Sub ' en caso de no haber seleccionado nada, sale
   if trim(sSelectionText)="" then Exit Sub ' si solo se seleccionan espacios vacios, salimos
   
   Dim As Integer iLenFind=Len(sSelectionText) ' longitud del texto (se puede con scintilla, pero vale asi)

   ' coge el inicio y final del texto seleccionado
   Dim As Integer cpMin=CInt(IupScintillaSendMessage( ih , SCI_GETSELECTIONSTART , 0 , 0))
   Dim As Integer cpMax=CInt(IupScintillaSendMessage( ih , SCI_GETSELECTIONEND , 0 , 0))
   'Dim As Integer iLenFind=cpMax-cpMin ' longitud del texto


	''''si queremos mantener el estilo al seleccionar
	''''Dim As integer selectedStyle = CInt(IupScintillaSendMessage( ih , SCI_GETSTYLEAT , cpMin , 0)) ' coge el estilo del texto seleccionado

   Dim As Integer style = -1
	Dim As Integer offset = 0

	'IupScintillaSendMessage( ih , SCI_SETSEARCHFLAGS , SCFIND_WHOLEWORD , 0)  '&h00100002 
	IupScintillaSendMessage( ih , SCI_SETTARGETSTART, offset,0)
	IupScintillaSendMessage( ih , SCI_SETTARGETEND, iLenDoc,0)
	Dim As integer indexOf = Cint(IupScintillaSendMessage( ih , SCI_SEARCHINTARGET , iLenFind , StrPtr(sSelectionText) )) 

	While (indexOf <> -1) 	
		''''style = CInt(IupScintillaSendMessage( ih , SCI_GETSTYLEAT, indexOf,0))
			''''If (selectedStyle = style) Then ' solo si hay coincidencia de estilo
				IupScintillaSendMessage( ih , SCI_SETINDICATORCURRENT, CurrentIndicator,Cast(ZString ptr,0) ) ' INDICADOR 8 (PUEDE SER 1)
				IupScintillaSendMessage( ih , SCI_INDICSETALPHA, CurrentIndicator, Cast(ZString ptr,HG_alphablending) ) ' TRANSPARENCIA
				IupScintillaSendMessage( ih , SCI_INDICSETSTYLE, CurrentIndicator, Cast(ZString ptr,INDIC_CONTAINER) ) ' TIPO 8=CAJA
				IupScintillaSendMessage( ih , SCI_INDICSETFORE, CurrentIndicator, Cast(ZString ptr,HG_emphasiscolor) ) ' AMARILLO
				IupScintillaSendMessage( ih , SCI_INDICATORFILLRANGE, IndexOf, Cast(ZString ptr,iLenFind) ) ' INICIO + LONG. DEL TEXTO
			''''End If
		offset = indexOf + iLenFind ' busca el siguiente
		IupScintillaSendMessage( ih , SCI_SETTARGETSTART, offset,0)
		IupScintillaSendMessage( ih , SCI_SETTARGETEND, iLenDoc,0)
		indexOf = Cint(IupScintillaSendMessage( ih , SCI_SEARCHINTARGET , iLenFind , StrPtr(sSelectionText) )) 
	Wend

End Sub


Function marcado_de_palabras_iguales_CALLBACK Cdecl (ih As Ihandle Ptr) As Integer

	'IupMessage("Informacion","Marcador de palabras")
	marcado_de_palabras_iguales2()

	return IUP_DEFAULT
End Function

function InitPluginProc(TGlobalVariables as T_GlobalVariables Ptr , pszDimErrors() as zstring ptr , bEncodingBool() as byte , szEncodingString as any ptr) as Integer Export
	if TGlobalVariables = 0 then return 0
	
	TGlobalVariablesDll = TGlobalVariables


	#ifdef __FB_WIN32__
	dim as string sSep = "\"
	#else
	dim as string sSep = "/"
	#EndIf
	
	dim as string sFileIniPath = exepath & sSep & "plugins" & sSep & "plug_highlight_coincidences.ini"
	
	dim f as Integer = FreeFile
	
	if FILEEXISTS(sFileIniPath) then ' if the settings file exists
		
		open sFileIniPath for input As f
      		Dim As String sBuffer
      		Line Input #f, sBuffer
      		Line Input #f, sBuffer
		Close f
		HG_emphasiscolor=Val(sBuffer):sbuffer=Mid(sBuffer,InStr(sBuffer,",")+1)
		HG_alphablending=Val(sBuffer):sbuffer=Mid(sBuffer,InStr(sBuffer,",")+1)
		HG_updatedelay=Val(sBuffer)
		
	else ' the first run of the plugin and the settings file does not exist yet
	
		open sFileIniPath for Output As f
      			Dim As String sBuffer
      			sBuffer = "; emphasis color, alpha blending, update delay ms."
      			Print #f, sBuffer
			sBuffer = "&h00FFFF,&h40,100"
      			Print #f, sBuffer
		Close f
		
	EndIf
		
	Dim As Ihandle Ptr hTimer = IUPtimer()
	IupSetAttribute(hTimer, "TIME", str(HG_updatedelay)) ' solo cada 100 milisegundos, para evitar el colapso
	IupSetCallback (hTimer, "ACTION_CB", Cast(Any Ptr,@marcado_de_palabras_iguales_CALLBACK() ))
	IupSetAttribute(hTimer, "RUN", "YES")
	IupMap(hTimer)
	
	return 1	
End Function
Last edited by jepalza on Apr 08, 2023 20:25, edited 1 time in total.
jepalza
Posts: 149
Joined: Feb 24, 2010 10:08
Location: Spain (Bilbao)

Re: IUP_FB_EDITOR (simple development environment)

Post by jepalza »

And here a new spanish language file, with the last menus added in this version:

Code: Select all


[zES]
aboutmessage=Autor del editor: Stanislav Budinov
buttongotocancel=Cancelar
buttongotook=Aceptar
convertdocenconfly=Convertir codificación del documento al vuelo
dlgcurnotdel=¡El archivo principal del proyecto no se puede eliminar!
dlgerrorcounttab=¡El editor no puede abrir más de 98 pestañas!
dlgerrorcounttabprj=Los archivos se agregarán al proyecto, ¡pero el editor no puede abrir más de 98 pestañas!
dlgerrorendmess=¡Conversión fallida!
dlgerrorendtitle=¡Error!
dlgerrormess=Diferente codificación ¿abrir igualmente?
dlgerrornamecompile=¡Archivo sin guardar o extensión incorrecta!
dlgerrornotexist=¡El archivo no está compilado!
dlgerrornotterminal=¡Especifica nombre del Terminal en ajustes!
dlgerrorpathcompile=¡Ruta al compilador sin indicar!
dlgerrorpathdebug=¡Ruta al depurador sin indicar!
dlgerrortitle=¡Problema con la codificación!
dlgerrorwritefile=Error al escribir el archivo
dlgisdelete=¿Estas seguro de borrar el archivo?
dlgisdetach=¿Estas seguro de quitar el archivo?
dlgissavemess=Archivo sin guardar ¿Guardar al salir?
dlgnameerror=Nombre no establecido
dlgnamenotcorrect=El nombre contiene caracteres ilegales
dlgnotactiveparser=¡Analizador sin activar!
dlgopenfile=Abrir archivos
dlgopenprjorfile=Este archivo es un proyecto. ¿Abrirlo como proyecto?
dlgpatherror=Ruta no establecida o incorrecto
dlgprjcount=El proyecto no puede contener tantos archivos
dljprjencerr=No compatible con la codificación del proyecto
dljprjerrdata=Archivo de proyecto dañado
dlgprjerrsave=Problemas al guardar el archivo. El proyecto no está cerrado.
dlgprjnamedouble=¡Ya existe un archivo con este nombre en el proyecto!
dlgprjnotclose=¡Cierre el proyecto actual!
dlgprjnotsave=Algunos archivos del proyecto están sin guardar. ¿Salvarlos?
dlgsaveas=Guardar archivo como
dlgwarningtitle=¡Atención!
errorallocate=¡Error al asignar memoria!
errorgoto=Número de línea no válido.
errorrewite=¡Error al volver a escribir!
findallfile=solo en este archivo
findallfiles=en todos los archivos
findbtncancel=Cancelar
findbtncheckaround=Envolver alrededor
findbtncheckcase=Caso Sensible
findbtncheckposix=Posix
findbtncheckregular=Expresión regular
findbtncheckwholeword=Palabra entera
findbtncheckwordstart=Inicio de palabra
findbtnfind=Buscar
findbtnfindall=Buscar todo
findbtnreplace=Reemplazar
findbtnreplaceall=Reemplazar todo
finddlgr=Reemplazar
findframedirect=Direccion
findframefind=Buscar
findlblfind=Buscar:
findlblreplace=Reemplazar: 
findmessageerrlocal=La opción "Buscar en el procedimiento" está configurada, ¡pero el cursor está en el código principal!
findmessagefind=Nada encontrado.
findonlyproc=en este procedimiento
findpastword=Palabras de búsqueda utilizadas anteriormente
findradiodown=Abajo
findradioup=Arriba
findreplaceall=Reemplazos completados:  
getdeclvar=Ubicación de la declaración de variable (F2)
getdeclvarprev=Volver a la variable en el código (CTRL + SHIFT + F2)
getinfoproc=Información de la función bajo el cursor (F6)
gettypevar=Mostrar tipo de variable (CTRL+F2)
iconverrormess=Problema con la conversión. Identificador 'iconv_open' no es válido.
menuabout=Acerca de
menuautoindent=Sangría automática
menuclearbook=Limpiar todo los marcadores
menuclose=Cerrar
menucloseall=Cerrar todo
menucommand=Parámetros a enviar al EXE
menucompile=Compilar
menucompileandrun=&Compilar y Ejecutar
menucopy=Copiar
menucut=Cortar
menudebug=Ejecutar con depurador
menudelete=Eliminar
menuexit=Salir
menufind=Buscar
menufindnext=Buscar siguiente
menufindprev=Buscar anterior
menugoto=Ir a
menuhelpFB=Ayuda del editor
menulowercase=minúsculas
menunew=Nuevo
menunextbook=Siguiente marcador
menuopen=Abrir
menupaste=Pegar
menupopupbbclear=Limpiar
menupopupbbcopyall=Copiar todo
menupopupbbcopysel=Copiar elementos seleccionados
menupopupbberrwar=Mostrar errores y Atencións
menupopupbbonlyerr=Mostrar sólo errores
menupopupbbonlywar=Mostrar sólo Atencións
menuprevbook=Marcador anterior
menuproject=Proyecto
menuprojectaddex=Agregar existente
menuprojectaddf=archivo...
menuprojectaddm=módulo...
menuprojectaddnew=Agregar nuevo
menuprojectclose=Cerrar proyecto
menuprojectdelf=Eliminar actual
menuprojectdetach=Quitar fichero del proyecto
menuprojectdomain=Fichero actual como principal
menuprojectnew=Nuevo Proyecto
menuprojectopen=Abrir Proyecto
menuprojectopt=Configuración del proyecto
menuprojectrenf=Cambiar nombre actual
menuquickrun=Ejecución rápida
menurecent=Archivos recientes
menuredo=Rehacer
menureplace=Reemplazar
menurun=Ejecutar
menusave=Guardar
menusaveall=Guardar todo
menusaveas=Guardar como
menuselectall=Seleccionar todo
menushowwhitespaces=Mostrar espacios en blanco
menuspacetotab=Espacios a Tabulaciones
menuspacetotabbegin=Espacios a Tabulaciones (al inicio)
menutabtospace=Tabuladores a Espacios
menutabtospacebegin=Tabuladores a Espacios (al inicio)
menutogglebook=Alternar marcador
menutrimspaceinle=Recortar espacios en interlineado
menutrimspaceintr=Recortar espacios en final
menutrimspaceintrle=Recortar espacios en interlineado y final
menuundo=Deshacer
menuuppercase=MAYÚSCULAS
menuvieweol=Muestra Caracteres EOL
menuviewlinenumbers=Ver números de línea
menuviewstatusbar=Ver barra de estado
menuviewtoolbar=Ver barra de herramientas
menuviewwinside=Mostrar ventana de funciones
menuwordwrap=Ajuste de línea
menuzoomdefault=Enfoque por defecto
menuzoomin=Acercar
menuzoomout=Alejar
numberencinmenu=Número de codificaciones en el menú...
optionalpha=Alpha Cursor:  
optionannot1=Sugerencia 1
optionannot2=Sugerencia 2
optionannot3=Sugerencia 3
optionanother=Otro
optionautoas=Autocompletado después de AS
optionautokeyword=Autocompletado de palabras clave
optionwinside=Cuadro Funciones
optionautocomplect=Autocompletar
optionbackfront=Color de fondo\primer plano
optionbtnapply=Aplicar
optionbtncancel=Cancelar
optionbtndelete=Eliminar
optionbtninsert=Insertar
optionbtnok=Aceptar
optionbuildcommand=Comando:
optionbuilditem=Menú del elemento:
optioncasecamel=Mixto
optioncasedown=minúsculas
optioncasemixed=Sin cambio
optioncasesave=Guardar archivo con esta configuración (lleva tiempo)
optioncaseup=MAYÚSCULAS
optionccaret=Cursor
optionccomments=Comentarios
optioncedit=Editor
optionchecktips=Consejos para funciones
optioncidentifiers=Identificadores
optionckeywords0=Palabras clave 0
optionckeywords1=Palabras clave 1
optionckeywords2=Palabras clave 2
optionckeywords3=Palabras clave 3
optioncmarker=Marcador
optioncnumbers=Números
optioncodecase=Palabras clave
optioncolor=Color
optioncom=Deja la línea de comando después del lanzamiento
optioncoperator=Operadores
optioncpanelcollapse=Columna Plegado
optioncpanelnumbers=Números de línea
optioncseltext=Texto seleccionado
optioncstrings=Cadenas
optioncwinout=Cuadro resultados
optiondelaytips=Lapso de tiempo de pistas
optionedit=Editor
optionendif=Espacio en ENDIF al autocompletar
optionfieldtype=Campo Autocompletar
optionfont=Fuentes
optionfontedit=Editor
optionfontstatus=Barra de estado
optionfontwinout=Cuadro resultados
optionfontwinside=Cuadro Funciones 
optionfontannot=Consejos
optionfonttabs=Pestañas
optiongen=General
optionindents=Sangrías
optionlang=Idioma
optionlexer=Léxico
optionlineend=Fin de líneas
optionlinelin=Linux (LF)
optionlinewin=Windows (CRLF)
optionmesstextbuildempty=¡Uno o ambos campos de entrada vacíos!
optionmesstextlangreboot=¡Los cambios sólo tendrán efecto después de reiniciar el editor!
optionmesstitletool=Personalización de Herramienta
optionmesstitletoolbuild=Personalización de Compilación
optionmesstitletoolhelp=Personalización de Archivos de ayuda
optionmesstitlewarning=¡Atención!
optionparser=Analizador
optionparserlenghtword=Longitud de la palabra
optionparsertime=Tiempo de actualización del analizador(ms)
optionpath=Ruta
optionpathbrowser=Navegador
optionpathcompilier=Ruta al compilador
optionpathdebug=Ruta al depurador
optionpathhelpfb=Ruta a la Ayuda de Freebasic
optionpathinclude=Ruta al directorio INCLUDE
optionpathterminal=Terminal
optionplusrows=+1 fila
optionsbuild=Configuración del Compilador...
optionseditor=Configuración del Editor...
optionsencoding=Configuración de codificaciones...
optionshelps=Configuración del Menú de Ayuda...
optionsplugins=Configuración de complementos
optionspace=Espacios
optionstools=Personalización de Menú Herramientas...
optionstyletips=Estilo de información herramientas 
optiontab=Tabulación
optiontheme=Tema
optionthemeadd=Añadir
optiontipstime=Tiempo de actualización pistas
optionvisiblefolding=Plegable
optionvisibleindents=Mostrar sangrías de marcador
optionvisiblenumbers=Mostrar números de línea
optionvisiblespace=Mostrar espacios en blanco
optionwinsidetime=Tiempo de actualización de la ventana de funciones (ms)
optionwrapline=Ajustar líneas al ancho
plugins=Complementos
prjaddf=Agregar archivo
prjaddm=Agregar módulo
prjname=Nombre del proyecto
prjnew=Nuevo proyecto
prjnotload=Proyecto no cargado
prjopt=Configuración del proyecto
prjpath=Ruta del proyecto
prjrecent=Proyectos recientes:
prjrename=Cambiar nombre
reopenfileenc=Reabrir el archivo codificado
setdefaultenc=Codificación del sistema...
setencforsave=Codificación al guardar
statuschangesno=Sin cambio
statuschangesyes=Cambiado
submenubook=Marcadores
submenubuild=Compilar
submenuconvertsimvols=Convertir símbolos a
submenuedit=Editar
submenufile=Archivo
submenuhelp=Ayuda
submenuoperationswithspace=Operaciones con Espacios
submenuoptions=Opciones
submenutools=Herramientas
submenuview=Ver
submenuzoom=Enfoque
tipgdb=Si usas GDB como depurador, agrega $_GDB_ primero. Ejemplo: $_GDB_ arg1 arg2. Al inicio del EXE, se ignora variable $_GDB_.
titlegotodlg=Ir a línea
titlelinenumber=Líneas desde\hasta
toolcomment=Comentar (F9)
toolcompile=Compilar (Shift+Ctrl+F5)
toolcompileandrun=Compilar y Ejecutar (Ctrl+F5)
toolcopy=Copiar (Ctrl+C)
toolcut=Cortar (Ctrl+X)
tooldelete=Eliminar
tooldeletebook=Eliminar todos los marcadores (Shift+Ctrl+F8)
toolencoding=Codificación
toolfind=Buscar (Ctrl+F)
toolindent=Añadir Sangría
toolnew=Nuevo (Ctrl+N)
toolnextbook=Siguiente marcador (F8)
toolopen=Abrir (Ctrl+O)
tooloutdent=Quitar Sangría
toolpaste=Pegar (Ctrl+V)
toolprevbook=Marcador anterior (Ctrl+F8)
toolquickrun=Ejecución rápida (F5)
toolredo=Rehacer (Ctrl+Y)
toolreplace=Reemplazar (Ctrl+R)
toolrun=Ejecutar (Shift+F5)
toolsave=Guardar (Ctrl+S)
toolsaveall=Guardar todo (Shift+Ctrl+S)
tooltogglebook=Alternar marcador (Shift+F8)
tooluncomment=Descomentar (Ctrl+F9)
toolundo=Deshacer (Ctrl+Z)
winsidesort=Ordenar
winsideprj=Proyecto o Funciones

Post Reply