Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2015, 19:20
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
¿Cuánto debería unir estas funciones?

He puesto primero un pseudocódigo simple y luego el código original. Más adelante quizá ponga un pseudocódigo normal. Es cosa de uds qué leer, pero en cualquier caso supongo que conviene leer desde la dependencia más alta a la más baja, lo cual por momentos es "leer desde abajo hacia arriba".
Dependencia 0 significa que las funciones siguientes no tienen función alguna dentro de sí.
Dependencia 1 significa que incluye alguna función de dependencia 0.

Si tienen alguna duda pregunten y responderé si puedo.

De momento voy a hacer dows (do whiles) para definir ciertas cosas y luego intentaré unir las funciones Remove, que parecen las más simples, pero eso debo ver si conviene o no unirlas.

Gracias por la ayuda.

Pseudocódigo simple:
Código:
// Si la línea inicia con // entonces es un comentario.
// ////////////////////////////////////////
// ////   Readd líneas y sus botones   ////
// ////////////////////////////////////////
// ///////////   Dependencia 0   //////////
// ////////////////////////////////////////
Funcion Reagregar_Lineas_tipo_Situación_parte:
	// Dice Situación pero en realidad esta función se usa en más tipos de líneas.
	Aumenta un contador y se define una variable para evitar repetir ciertas sumas.
Funcion Reagregar_Lineas_tipo_Situación_parte2:
	Se indica la posición "y" de una línea y de un objeto que contiene botones. También, en ese objeto, se crea una variable.
// ////////////////////////////////////////
// ///////////   Dependencia 1   //////////
// ////////////////////////////////////////
Funcion Reagregar_Lineas_tipo_Situación:
	// F2 = Se usa en el Frame 2.
	Se inicia o resetea un contador.
	Se repite:
		Se aplica la función Reagregar_Lineas_tipo_Situación_parte.
		Se agrega una línea de tipo Situación.
		Se crean variables tipo Situación en la línea tipo Situación.
		Se agrega un objeto que contiene botones tipo Situación.
		Se aplica la función Reagregar_Lineas_tipo_Situación_parte2.
	mientras el contador sea menor a la cantidad de elementos de la situación.
Funcion Reagregar_Lineas_tipo_Condición1:
	// F4.
	Se inicia o resetea un contador.
	Se repite:
		Se aplica la función Reagregar_Lineas_tipo_Situación_parte.
		Se agrega una línea de tipo Condición1.
		Se crean variables tipo Condición1 en la línea tipo Condición1.
		Se agrega un objeto que contiene botones tipo Condición1.
		Se aplica la función Reagregar_Lineas_tipo_Situación_parte2.
	mientras el contador sea menor a la cantidad de condiciones.
Funcion Reagregar_Lineas_tipo_Condición2:
	// F6.
	Se inicia o resetea un contador.
	Se repite:
		Se aplica la función Reagregar_Lineas_tipo_Situación_parte.
		Se agrega una línea de tipo Condición2.
		Se crean variables tipo Condición2 en la línea tipo Condición2.
		Se agrega un objeto que contiene botones tipo Condición2.
		Se aplica la función Reagregar_Lineas_tipo_Situación_parte2.
	mientras el contador sea menor a la cantidad de grupos.
Funcion Reagregar_Lineas_tipo_Cambios:
	// F8.
	Se inicia o resetea un contador.
	Se repite:
		Se aplica la función Reagregar_Lineas_tipo_Situación_parte.
		Se agrega una línea de tipo Cambios.
		Se crean variables tipo Cambios en la línea tipo Cambios.
		Se indica la posición x de la línea tipo Cambios.
		Se agrega un objeto que contiene botones tipo Cambios.
		Se crea una variable en dicho objeto.
		Se indica la posición x de dicho objeto.
	mientras el contador sea menor a la cantidad de cambios.
	// Esta función es un poco más diferente a las otras porque la línea en vez de ser una fila es una columna, entonces en vez de indicarse la posición y se indica la x y el cálculo es diferente además. Por eso no se usa la función "parte2".
// ////////////////////////////////////////
// /////   Add líneas y sus botones   /////
// ////////////////////////////////////////
// ///////////   Dependencia 0   //////////
// ////////////////////////////////////////
Funcion Agregar_Lineas_tipo_Situación:
	// Usada en el botón + del F2.
	Aumenta la cantidad de elementos de la situación.
	Se agrega una línea de tipo Situación.
	Se crean variables tipo Situación en la línea tipo Situación.
	Se indica la posición y de la línea.
	Se agrega un objeto que contiene botones tipo Situación.
	Se crea una variable en dicho objeto.
	Se indica la posición y de dicho objeto.
	Se crean variables tipo Situación (en la raíz).
Funcion Agregar_Lineas_tipo_Condición1:
	// Usada en bot + en F4.
	Aumenta la cantidad de condiciones.
	Se agrega una línea de tipo Condición1.
	Se crean variables tipo Condición1 en la línea tipo Condición1.
	Se indica la posición y de la línea.
	Se agrega un objeto que contiene botones tipo Condición1.
	Se crea una variable en dicho objeto.
	Se indica la posición y de dicho objeto.
	Se crean variables tipo Condición1 (en la raíz).	
Funcion Agregar_Lineas_tipo_Condición2:
	// Bot + en F6.
	Aumenta la cantidad de grupos.
	Se agrega una línea de tipo Condición2.
	Se crean variables tipo Condición2 en la línea tipo Condición2.
	Se indica la posición y de la línea.
	Se agrega un objeto que contiene botones tipo Condición2.
	Se crea una variable en dicho objeto.
	Se indica la posición y de dicho objeto.
	Se crean variables tipo Condición2 (en la raíz).
// ////////////////////////////////////////
// ///   Remove líneas y sus botones   ////
// ////////////////////////////////////////
// ///////////   Dependencia 0   //////////
// ////////////////////////////////////////
Funcion Remover_Linea_tipo_Situación:
	// Bot - en F2.
	Si la cantidad de elementos de situación es mayor que 1
		Quitar la última línea tipo Situación agregada.
		Quitar el último contenedor de botones tipo Situación agregado.
		La cantidad de elementos de situación disminuye 1.
Funcion Remover_Linea_tipo_Condición1:
	// Bot - en F4.
	Si la cantidad de condiciones es mayor que 1
		Quitar la última línea tipo Condición1 agregada.
		Quitar el último contenedor de botones tipo Condición1 agregado.
		La cantidad de condiciones disminuye 1.
Funcion Remover_Linea_tipo_Condición2:
	// Bot - en F6.
	Si la cantidad de grupos es mayor que 1
		Quitar la última línea tipo Condición2 agregada.
		Quitar el último contenedor de botones tipo Condición2 agregado.
		La cantidad de grupos disminuye 1.