WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V3.1.0 June 4, 2023)

User projects written in or related to FreeBASIC.
Post Reply
rpkelly
Posts: 52
Joined: Sep 03, 2016 22:36

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by rpkelly »

I've been awol for some time - life considerations took priority. I finally downloaded WinFBE 2.1.7 and gave it a try. I took my cCalendar work and developed a demo.

I experienced no issues and smooth development although I only used mostly basic things with tools such as buttons, text boxes, tab and listview controls.

I uploaded the WinFBE project to:

https://github.com/breacsealgaire/Calen ... -Freebasic in folder WinFBE.

GitHub tells me some of the project *.bas files are binary although I don't think it understands the encodings.

If you compile the project, let me know if I've messed up somewhere as I'm a bit rusty.

Rick
wallyg
Posts: 270
Joined: May 08, 2009 7:08
Location: Tucson Arizona

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by wallyg »

As I use your wonderful product, I find I like a lot about it and am finding out more useful pieces about the product.

I mentioned before the I use GladeToBac from TJF a lot. Well, it generates a list of #includes for each of the event routines which are in separate files. I require that the list be modified. So I cut the list from his routine and include it at a different place in my program. That requires me to specify a different directory. I then select the file list and bring up the replacement window. I enter the string {UDE "} in the Find area and {UDE ONCE "tobac\} in the replace area. It indicates that I am positioned on 1-192 (192 replacements to be done). I then click on the replace ALL icon and I get the first 163 replaced and it says 1-29, I click on the replace ALL icon a second time and the next 25 get done, and it indicates 1-4, I then click on the replace ALL icon and now it does the remaining 4. The numbers vary based on the actual number of lines to be replaced.

Code: Select all

#INCLUDE "DialogFlooringStairWayUP_toggled_cb.bas"
#INCLUDE "DialogGrundStairWayDown_toggled_cb.bas"
#INCLUDE "DialogFlooringStairWayRow_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringStairWayCol_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringTrapMin_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringTrapMax_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringTransportFloor_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringTransportRow_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringTransportCol_change_value_cb.bas"
#INCLUDE "DialogFlooringTransportCol_focus_out_event_cb.bas"
#INCLUDE "TileMasterMain_destroy_cb.bas"
#INCLUDE "MainMenuNewProject_activate_cb.bas"
#INCLUDE "MainMenuOpenProject_activate_cb.bas"
#INCLUDE "MainMenuSaveProject_activate_cb.bas"
#INCLUDE "MainMenuCloseProject_activate_cb.bas"
#INCLUDE "MainMenuAddFiles_activate_cb.bas"
#INCLUDE "MainMenuProperties_activate_cb.bas"
#INCLUDE "MainMenuQuit_activate_cb.bas"
#INCLUDE "MainMenuOptions_activate_cb.bas"
#INCLUDE "MainMenuRun_activate_cb.bas"
#INCLUDE "MainMenuDebugRun_activate_cb.bas"
#INCLUDE "MainMenuArmor_activate_cb.bas"
#INCLUDE "MainMenuCharm_activate_cb.bas"
#INCLUDE "MainMenuClothes_activate_cb.bas"
#INCLUDE "MainMenuDrink_activate_cb.bas"
#INCLUDE "MainMenuFlooring_activate_cb.bas"
#INCLUDE "MainMenuFoodItems_activate_cb.bas"
#INCLUDE "MainMenuHoldall_activate_cb.bas"
#INCLUDE "MainMenuKey_activate_cb.bas"
#INCLUDE "MainMenuMonster_activate_cb.bas"
#INCLUDE "MainMenuPotion_activate_cb.bas"
#INCLUDE "MainMenuRing_activate_cb.bas"
#INCLUDE "MainMenuSpell_activate_cb.bas"
#INCLUDE "MainMenuTreasure_activate_cb.bas"
#INCLUDE "MainMenuUsefullItem_activate_cb.bas"
#INCLUDE "MainMenuWeapon_activate_cb.bas"
#INCLUDE "MainMenuUpdate_activate_cb.bas"
#INCLUDE "MainMenuHelp_activate_cb.bas"
#INCLUDE "MainMenuAbout_activate_cb.bas"
#INCLUDE "PaletteImage_button_press_event_cb.bas"
#INCLUDE "PaletteImage_configure_event_cb.bas"
#INCLUDE "PaletteImage_key_press_event_cb.bas"
#INCLUDE "PaletteImage_popup_menu_cb.bas"
#INCLUDE "PaletteImage_scroll_event_cb.bas"
#INCLUDE "PaletteImage_size_allocate_cb.bas"
#INCLUDE "DialogFileNameDelete_clicked_cb.bas"
#INCLUDE "DialogFileNameLeftBorder_value_changed_cb.bas"
#INCLUDE "DialogFileNameTopBorder_value_changed_cb.bas"
#INCLUDE "DialogFileNameHorFill_value_changed_cb.bas"
#INCLUDE "DialogFileNameVerFill_value_changed_cb.bas"
#INCLUDE "DialogFileNameSpriteRow_value_changed_cb.bas"
#INCLUDE "DialogFileNameSpriteColumn_value_changed_cb.bas"
#INCLUDE "DialogFileNameFileNameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFileNameFileNameEntry_icon_press_cb.bas"
#INCLUDE "DialogFileNameSpriteTileTypeEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFileNameSpriteNameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFileNameSpriteSave_clicked_cb.bas"
#INCLUDE "DialogFileNameSpriteSaveModify_clicked_cb.bas"
#INCLUDE "DialogFileNameSpriteClear_clicked_cb.bas"
#INCLUDE "DialogFileNameSpriteDelete_clicked_cb.bas"
#INCLUDE "DialogHeroName_focus_out_event_cb.bas"
#INCLUDE "DialogHeroSpriteFileNameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogHeroSpriteX_value_changed_cb.bas"
#INCLUDE "DialogHeroSpriteY_value_changed_cb.bas"
#INCLUDE "DialogHeroHealth_value_changed_cb.bas"
#INCLUDE "DialogHeroWealth_value_changed_cb.bas"
#INCLUDE "DialogHeroMaxHealth_value_changed_cb.bas"
#INCLUDE "DialogHeroLives_value_changed_cb.bas"
#INCLUDE "DialogHeroStrength_value_changed_cb.bas"
#INCLUDE "DialogHeroMaxStrength_value_changed_cb.bas"
#INCLUDE "DialogHeroFood_value_changed_cb.bas"
#INCLUDE "DialogHeroMaxFood_value_changed_cb.bas"
#INCLUDE "DialogHeroStartingColumn_value_changed_cb.bas"
#INCLUDE "DialogHeroStartingRow_value_changed_cb.bas"
#INCLUDE "DialogFlooringOK_clicked_cb.bas"
#INCLUDE "DialogFlooringDelete_clicked_cb.bas"
#INCLUDE "DialogFlooringSpriteSheetX_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringSpriteSheetY_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringHeroN_toggled_cb.bas"
#INCLUDE "DialogFlooringHeroW_toggled_cb.bas"
#INCLUDE "DialogFlooringHeroE_toggled_cb.bas"
#INCLUDE "DialogFlooringHeroS_toggled_cb.bas"
#INCLUDE "DialogFlooringMonsterN_toggled_cb.bas"
#INCLUDE "DialogFlooringMonsterW_toggled_cb.bas"
#INCLUDE "DialogFlooringMonsterE_toggled_cb.bas"
#INCLUDE "DialogFlooringMonsterS_toggled_cb.bas"
#INCLUDE "DialogFlooringChangeTile_toggled_cb.bas"
#INCLUDE "DialogFlooringChangeSteps_value_changed_cb.bas"
#INCLUDE "DialogFlooringCarryingN_toggled_cb.bas"
#INCLUDE "DialogFlooringCarryingW_toggled_cb.bas"
#INCLUDE "DialogFlooringCarryingE_toggled_cb.bas"
#INCLUDE "DialogFlooringCarryingS_toggled_cb.bas"
#INCLUDE "DialogFlooringFilenameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringNameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringChangedTileEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringCarringTileType_changed_cb.bas"
#INCLUDE "DialogFlooringCarringTileTypeEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringExitText_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringEntranceText_focus_out_event_cb.bas"
#INCLUDE "DialogFlooringDescription_focus_out_event_cb.bas"
#INCLUDE "DialogFloorDelete_clicked_cb.bas"
#INCLUDE "DialogFloorNumber_value_changed_cb.bas"
#INCLUDE "DialogFloorDefaultCellApply_clicked_cb.bas"
#INCLUDE "DialogFloorFlooringTileApply_clicked_cb.bas"
#INCLUDE "DialogFloorMonsterTileApply_clicked_cb.bas"
#INCLUDE "DialogFloorLowerItemTileApply_clicked_cb.bas"
#INCLUDE "DialogFloorUpperItemTileApply_clicked_cb.bas"
#INCLUDE "DialogFloorMinExperience_value_changed_cb.bas"
#INCLUDE "DialogFloorDefaultCellEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFloorFlooringTileEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFloorMonsterTileEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFloorLowerLevelItemEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFloorUpperLevelItemEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFloorNameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogFloorDescription_focus_out_event_cb.bas"
#INCLUDE "DialogMonsterDelete_clicked_cb.bas"
#INCLUDE "DialogMonsterLowFloor_value_changed_cb.bas"
#INCLUDE "DialogMonsterHighFloor_value_changed_cb.bas"
#INCLUDE "DialogMonsterHealth_value_changed_cb.bas"
#INCLUDE "DialogMonsterMaxHealth_value_changed_cb.bas"
#INCLUDE "DialogMonsterHealthRecoveryRate_value_changed_cb.bas"
#INCLUDE "DialogMonsterMinExperience_value_changed_cb.bas"
#INCLUDE "DialogMonsterMaxExperience_value_changed_cb.bas"
#INCLUDE "DialogMonsterAccuracy_value_changed_cb.bas"
#INCLUDE "DialogMonsterMinDamage_value_changed_cb.bas"
#INCLUDE "DialogMonsterMaxDamage_value_changed_cb.bas"
#INCLUDE "DialogMonsterRewardCount_value_changed_cb.bas"
#INCLUDE "dialogMonsterExperiencePoints_value_changed_cb.bas"
#INCLUDE "DialogMonsterPercentToHero_value_changed_cb.bas"
#INCLUDE "DialogMonsterPercentRunsAway_value_changed_cb.bas"
#INCLUDE "DialogMonsterPotionlImmunity_value_changed_cb.bas"
#INCLUDE "DialogMonsterSpellImmunity_value_changed_cb.bas"
#INCLUDE "DialogMonsterFilenameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogMonsterName_changed_cb.bas"
#INCLUDE "DialogMonsterNameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogMonsterX_value_changed_cb.bas"
#INCLUDE "DialogMonsterY_value_changed_cb.bas"
#INCLUDE "DialogMonsterRewardEntry_focus_out_event_cb.bas"
#INCLUDE "DialogMonsterDescription_focus_out_event_cb.bas"
#INCLUDE "DialogMonsterGreeting_focus_out_event_cb.bas"
#INCLUDE "DialogMonsterDeathReport_focus_out_event_cb.bas"
#INCLUDE "DialogMonsterPartingComments_focus_out_event_cb.bas"
#INCLUDE "DialogPotionCancel_clicked_cb.bas"
#INCLUDE "DialogPotionSubType_changed_cb.bas"
#INCLUDE "DialogPotionSubTypeEntry_focus_out_event_cb.bas"
#INCLUDE "DialogPotionName_changed_cb.bas"
#INCLUDE "DialogPotionNameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogPotionFilename_changed_cb.bas"
#INCLUDE "DialogPotionFileNameEntry_focus_out_event_cb.bas"
#INCLUDE "DialogPotionX_value_changed_cb.bas"
#INCLUDE "DialogPotionY_value_changed_cb.bas"
#INCLUDE "DialogPotionLowFloor_value_changed_cb.bas"
#INCLUDE "DialogPotionHighFloor_value_changed_cb.bas"
#INCLUDE "DialogPotionHealth_value_changed_cb.bas"
#INCLUDE "DialogPotionInvisibleMonster_changed_cb.bas"
#INCLUDE "DialogPotionInvisibleMonsterEntry_focus_out_event_cb.bas"
#INCLUDE "DialogPotionMoves_value_changed_cb.bas"
#INCLUDE "DialogPotionMovesN_toggled_cb.bas"
#INCLUDE "DialogPotionMovesW_toggled_cb.bas"
#INCLUDE "DialogPotionMovesE_toggled_cb.bas"
#INCLUDE "DialogPotionMovesS_toggled_cb.bas"
#INCLUDE "DialogPotionMovesRandomDirection_toggled_cb.bas"
#INCLUDE "DialogPotionMovesRandomLocation_toggled_cb.bas"
#INCLUDE "DialogPotionMovesUpLevel_toggled_cb.bas"
#INCLUDE "DialogPotionProtection_value_changed_cb.bas"
#INCLUDE "DialogPotionProtectionPercentage_value_changed_cb.bas"
#INCLUDE "DialogPotionProtectionWearable_changed_cb.bas"
#INCLUDE "DialogPotionProtectionWearable_focus_out_event_cb.bas"
#INCLUDE "DialogPotionProtectionMonster_changed_cb.bas"
#INCLUDE "DialogPotionProtectionMonsterEntry_focus_out_event_cb.bas"
#INCLUDE "DialogPotionProtectionTime_value_changed_cb.bas"
#INCLUDE "DialogPotionWeaponStrength_value_changed_cb.bas"
#INCLUDE "DialogPotionWeaponStrengthPercentage_value_changed_cb.bas"
#INCLUDE "DialogPotionWeapon_changed_cb.bas"
#INCLUDE "DialogPotionWeaponEntry_focus_out_event_cb.bas"
#INCLUDE "DialogPotionWeaponDuration_value_changed_cb.bas"
#INCLUDE "DialogPotionBlindnessPercentage_value_changed_cb.bas"
#INCLUDE "DialogPotionBlindnessDuration_value_changed_cb.bas"
#INCLUDE "DialogPotionHeroStrength_value_changed_cb.bas"
#INCLUDE "DialogPotionHeroStrengthPercentage_value_changed_cb.bas"
#INCLUDE "DialogPotionHeroStrengthDuration_value_changed_cb.bas"
#INCLUDE "DialogPotionChangeInWealth_value_changed_cb.bas"
#INCLUDE "DialogPotionFood_value_changed_cb.bas"
#INCLUDE "DialogPotionFoodSupplyPercentage_value_changed_cb.bas"
#INCLUDE "DialogPotionWalkOnWater_toggled_cb.bas"
#INCLUDE "DialogPotionWalkOnWaterDuration_value_changed_cb.bas"
#INCLUDE "DialogPotionWalkThruWall_toggled_cb.bas"
#INCLUDE "DialogPotionWalkThruWallDuration_value_changed_cb.bas"
#INCLUDE "DialogPotionWalkThruFire_toggled_cb.bas"
#INCLUDE "DialogPotionWalkThruFileDuration_value_changed_cb.bas"
#INCLUDE "DialogPotionImpervious_toggled_cb.bas"
#INCLUDE "DialogPotionImperviousDuration_value_changed_cb.bas"
wallyg
Posts: 270
Joined: May 08, 2009 7:08
Location: Tucson Arizona

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by wallyg »

While I am on the subject, I was wondering since you provide an option "Find in Files' in your main menu Search item, would it be possible to include a "Replace in Files" option. fbEdit has that feature and I find it very useful in certain situations.

In your main menu Options item, under Environmental Options, you provide 4 options on displaying source lines with Upper/Lower/Mixed/Original case. I love that option. I was wondering if you could provide an option to make the mapped Upper/Mixed/Lower versions of the lines actually replace the file that is being displayed so that the modified version is saved instead of the original. That would clean up a lot of code that was pieced together from a lot of other places that were written to match customer specified standards.

Thanks again for your wonderful product.

Wally
deltarho[1859]
Posts: 4305
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by deltarho[1859] »

wallyg wrote:I was wondering if you could provide an option to make the mapped Upper/Mixed/Lower versions of the lines actually replace the file that is being displayed so that the modified version is saved instead of the original.
I second that.
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by PaulSquires »

wallyg wrote: I would like to know if you have any plans in the future to allow additional headers in the Explorer window beside the standard 5. Having almost 400 routines on that list makes it a little difficult to use. If I could add several user-defined headers then I could put all the files for specific subprojects in separate areas and only have to work with a hand full of files in the explorer window that are relevant to what I am working on at the current time.
I understand the need and I agree that such functionality would be desirable. I have been thinking about re-engineering the whole Explorer window to be able to allow such functionality that you describe (likewise, being able to add, delete, rename, files directly from that window). This requires a fair amount of work so such a change will not on the immediate horizon.
One additional question. I assumed (probably a bad idea to make assumptions) that View Fold All would work on all routines in the current file that were open. I have found that it only seems to work on routines from the beginning of file to around where the current edit cursor is. After several applications of View Fold All without moving the cursor, it does seem to go a little farther each time and then eventually all the way. Could you explain the definition of All in this case so that I can understand better? I have taken to going to the end of the file, put the cursor there then doing a View Fold All, and that works fine.
I feel your pain when it comes to folding. I personally don't use it because the folding logic is built into the Scintilla editing DLL and I have not edited it (it is from a lexer that someone else made). I need to understand C++ better before I can make changes to that lexer.
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by PaulSquires »

wallyg wrote:I have enabled AutoIndention and enabled append loop variable to For/Next statement

I type in the following 2 lines

Code: Select all

Sub alpha
    for row as long = 0 to Rows-1
and then enter an Enter key. I get the following

Code: Select all

Sub alpha
    for row as long = 0 to Rows-1
            
    next 
No variable on next statement
I have this fixed and will be in the next update. The Next loop variable was not being identified correctly in some cases. Nested For/Next loops may still not work correctly 100% of the time.
wallyg
Posts: 270
Joined: May 08, 2009 7:08
Location: Tucson Arizona

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by wallyg »

Thank you for your response. I appreciate you looking into these things.

Wally
wallyg
Posts: 270
Joined: May 08, 2009 7:08
Location: Tucson Arizona

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by wallyg »

Since Find in Files searches physical files and not copies recently modified but not saved (I knew that but still screwed up something because of it), I wonder if you could add another option in the options window that would save currently modified routines prior to doing the search?

Wally
Julius10
Posts: 2
Joined: Jun 18, 2020 10:32

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by Julius10 »

Thanks for the editor.

It seems cool, but in my opinion it misses one simple thin.

Not all people are using a mouse, and as far as I can see, you can't hit the toolbox using the keyboard.

I wonder if you can place a component on the form using the keyboard, and if so, I think you should make it possible to activate the property editor using the keyboard, by pressing enter ctrl+enter or what you like.

Using screen reader would be a bit easier then.

Julius10
veltesian
Posts: 15
Joined: Jul 20, 2020 19:02

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by veltesian »

hello i'm new to this forum & was wondering since i'm using winfbe v2.17
is this the right place to ask a question on how to figure out certain code within
a gui form? i'm trying to figure many things out. i tried reviewing the wiki & F1
onboard manual to winfbe.... unfortunately i could not really make sense of how
to arrange the proper code to make it work.

one thing in particular i'd like to know, is how to load values from a text file into
1 or more textboxes residing upon a GUI form.
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by PaulSquires »

veltesian wrote:hello i'm new to this forum & was wondering since i'm using winfbe v2.17
is this the right place to ask a question on how to figure out certain code within
a gui form? i'm trying to figure many things out. i tried reviewing the wiki & F1
onboard manual to winfbe.... unfortunately i could not really make sense of how
to arrange the proper code to make it work.

one thing in particular i'd like to know, is how to load values from a text file into
1 or more textboxes residing upon a GUI form.
Hi - I see that you have registered over in my planetsquires forum. That's probably now the best place for you to post your questions.
veltesian
Posts: 15
Joined: Jul 20, 2020 19:02

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by veltesian »

well thank you paul for granting me the opportunity to do so. its much appreciated.
tis true i have many questions & would like to know many things. by the way,
would it be at all possible to, once i enter the planet squires forum, change my
password to something i could more easily remember? also as i've now entered
the planetsquires forum (currently there at this time) i wonder what section
could i post my questions ? either the general section or the winfbe - code editor
& visual designer section ?

thanks ahead of time :D
fxm
Moderator
Posts: 12106
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by fxm »

@PaulSquires,
About the possible use of the -rr option in the compile line syntax, please see my summarizing post at viewtopic.php?p=274443#p274443.
Imortis
Moderator
Posts: 1924
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V2.1.7 May 31, 2020)

Post by Imortis »

@PaulSquires,

I found something that is intended behavior, but you may want to reconsider this particular edge case:

When making a new form, the default save, if not specified in the file name will be frmWhatever.bas. This puts the file into the projects Module section, which does not work correctly. Would it be possible to make the default save for forms to be frmWhatever.inc so that it is treated properly by the IDE and compiler?
Post Reply