¿Cómo parar ejecución en JavaScript?

Necesito un poco de ayuda en el código he puesto donde tengo el problema. Al mostrar esa ventana de error en vez de parar la ejecución pues sigue hasta que guarda el registro y necesito que se pare, he probado a poner break, exit, return false… siempre continua con la ejecución. Simplemente que cuando muestre la ventana de error se quede en la pantalla actual y no haga nada mas para que ya el usuario realice el cambio oportuno para corregir ese error. Gracias por la ayuda!

function validarFechaHora50minutos(campo){     alert ("Entro en validarFechaHora50minutos ");      var fechaValidar = campo;     var fecha     = getServerDate();     var tiempo    = fecha.getTime();     var total     = fecha.setTime(parseInt(tiempo)+3000000); //Equivale en msg a 50 minutos     var dia       = fecha.getDate();     var mes       = fecha.getMonth();     var anio      = fecha.getYear();     var hora      = fecha.getHours();     var minutos   = fecha.getMinutes();      var minutosAct = parseInt(minutos);     if (minutosAct < 10) {         minutos = "0" + minutosAct;     } else {         minutos = minutosAct;     }      var horaAct = parseInt(hora);     if (horaAct < 10) {         hora = "0" + horaAct;     } else {         hora = horaAct;     }      var diaAct = parseInt(dia);     if (diaAct < 10){         dia = "0" + dia;     }else{         dia = dia;     }      var mesAct = parseInt(mes)+1;     if (mesAct < 10){         mes = "0" + mesAct;     }else{         mes = mesAct;     }       var fecha50 = dia + "/" + mes + "/" + anio + " " + hora + ":" + minutos;     alert(fechaValidar);     alert(fecha50);// muestra la fecha actual mas los 50 minutoss      if (!fecha50 == "" && !fechaValidar == "") {         var date1 = Date.parse(fecha50);         var date2 = Date.parse(fechaValidar);         alert("Despues del parseo quedan asi las fechas" + date1 +"--"+ date2);         if (date1 <= date2) {             return true;         } else {             mostrarVentanaError("Han transcurrido más de 50 minutos desde la fecha de inicio prevista.");             return false;         }     } else {         return true;     }       /* if(!esFechaHoraAnterior50Min(fecha50, fechaValidar)) {         mostrarVentanaError("Han transcurrido más de 50 minutos desde la fecha de inicio prevista.");     }                        */   } 

Problema con ejecución de funciones

Actualmente estoy haciendo una librería y quisiera saber el porque al momento de llamar mis funciones me las remplaza y solo pone los datos o la información que le doy de la ultima función declarada, la única que me respeta es la función base que es stStyle pero si le agrego las demás pasa ese error y solo ejecuta la ultima.

CODIGO

function styleTxt (selector) {   const obj = {     getElement (selector) {       return document.querySelector(selector)     },     stStyle (color, bgColor) {       document.onmouseup = function () {         if (window.getSelection().toString().length > 0) {           window             .getSelection()             .getRangeAt(0)             .surroundContents(createSpanTag())           const selectedElement = document.getElementById(`stElement$  {auto}`)           selectedElement.style.color = color           selectedElement.style.backgroundColor = bgColor           window.getSelection().removeAllRanges()           auto++         }       }       return this     },     stSize (ftSize) {       document.onclick = () => {         const selectedElement = document.getElementById(`stElement$  {auto - 1}`)         selectedElement.style.fontSize = `$  {ftSize}px`       }       return this     },     txtBold () {       document.onclick = () => {         const selectedElement = document.getElementById(`stElement$  {auto - 1}`)         selectedElement.style.fontWeight = 'bolder'       }       return this     },     stBorder () {       document.onclick = () => {         const selectedElement = document.getElementById(`stElement$  {auto - 1}`)         selectedElement.style.border = '5px solid black'       }       return this     }   }    return obj } 

EJEMPLO

styleTxt('#element').stStyle('white', 'orange').stSize(20).txtBold().stBorder() 

time.sleep No detiene la ejecución de una instrucción

Tengo el siguiente problema, en el siguiente código dentro de la funcion Finish(), necesito que despues de 3 segundos se efectué una operación para ello utilize time.sleep(3) para detener la ejecución de la próxima instrucción el problema es que no deja actuar las instrucciones anteriores a la declaración de time.sleep()

def Finish(self,signal):         if signal == 0:              self.Animacion.setPixmap(QtGui.QPixmap("ok.png")) #No se ejecuta la acción si esta time.sleep()             time.sleep(3)             self.tabWidget.setCurrentIndex(1) 

En este caso no deja que self.Animacion.setPixmap() se ejecute

Codigo completo:  from PyQt5.QtWidgets import QMainWindow,QApplication,QTabWidget,QPushButton,QLabel from PyQt5 import QtCore,QtGui from PyQt5 import uic import threading import time  class TheThread(threading.Thread):     def __init__(self,obj,fun):         threading.Thread.__init__(self)          self.obj = obj         self.fun = fun      def run(self):         self.fun() class Main(QMainWindow):     signal = QtCore.pyqtSignal(object)     def __init__(self):         QMainWindow.__init__(self)         uic.loadUi("Test.ui",self)          self.Iniciar.clicked.connect(lambda:self.ShowImage())          self.signal.connect(self.Finish)      def ShowImage(self):         _movie = QtGui.QMovie("Loader.gif")         self.Animacion.setMovie(_movie)         self.Animacion.setScaledContents(True)         _movie.start()          _thread = TheThread(self,self.Fun1)         _thread.start()      def Fun1(self):         time.sleep(3)         self.signal.emit(0)      def Finish(self,signal):         if signal == 0:              self.Animacion.setPixmap(QtGui.QPixmap("ok.png")) #No se ejecuta la acción si esta time.sleep()             time.sleep(3)             self.tabWidget.setCurrentIndex(1)   app = QApplication([]) m = Main() m.show() app.exec_()   

Archivo.ui

<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0">  <class>MainWindow</class>  <widget class="QMainWindow" name="MainWindow">   <property name="geometry">    <rect>     <x>0</x>     <y>0</y>     <width>800</width>     <height>600</height>    </rect>   </property>   <property name="windowTitle">    <string>MainWindow</string>   </property>   <widget class="QWidget" name="centralwidget">    <widget class="QTabWidget" name="tabWidget">     <property name="geometry">      <rect>       <x>30</x>       <y>0</y>       <width>691</width>       <height>441</height>      </rect>     </property>     <widget class="QWidget" name="tab">      <attribute name="title">       <string>Tab 1</string>      </attribute>      <widget class="QLabel" name="Animacion">       <property name="geometry">        <rect>         <x>220</x>         <y>40</y>         <width>231</width>         <height>171</height>        </rect>       </property>       <property name="text">        <string>TextLabel</string>       </property>      </widget>      <widget class="QLabel" name="Estatus">       <property name="geometry">        <rect>         <x>220</x>         <y>270</y>         <width>271</width>         <height>16</height>        </rect>       </property>       <property name="text">        <string>TextLabel</string>       </property>      </widget>     </widget>     <widget class="QWidget" name="tab_2">      <attribute name="title">       <string>Tab 2</string>      </attribute>     </widget>    </widget>    <widget class="QPushButton" name="Iniciar">     <property name="geometry">      <rect>       <x>30</x>       <y>460</y>       <width>75</width>       <height>23</height>      </rect>     </property>     <property name="text">      <string>PushButton</string>     </property>    </widget>   </widget>   <widget class="QMenuBar" name="menubar">    <property name="geometry">     <rect>      <x>0</x>      <y>0</y>      <width>800</width>      <height>21</height>     </rect>    </property>   </widget>   <widget class="QStatusBar" name="statusbar"/>  </widget>  <resources/>  <connections/> </ui> 

Loader.gif introducir la descripción de la imagen aquí

Cambiar el connection string en tiempo de ejecucion

tengo una cadena una aplicacion hecha en vb.net, esta aplicación la corro en dos o tres redes diferentes, existe alguna manera de que se testee la conexion a una base de datos y si no responde utilice otra cadena?? si Conexion1 no anda utilizar Conexion2

utilizo entity Framework para conectarme a las bd.

mi idea es algo asi:

Saludos

Lambda y su corte de ejecución JAVA

Tengo una función lambda la cual me genera una excepción. Se ejecuta un proceso muy extenso y es propenso a fallos.

Básicamente se encarga de recorrer una serie de valores y realiza una funciones por cada una de ellas. Esas funciones lanzan una serie de excepciones. El tema es que imaginemos que tenemos 100 valores que recorrer. Si por un casual la vuelta 54 falla. La lamda entera corta su ejecución debido al throw de la excepción y el resto de valores los omite.

Como podría hacer que en caso de fallo no me fallara la lamba y se encargase de ir al siguiente.

un break o un return me valdría? un saludo

Alternar ejecución de dos funciones en el tiempo

Quiero alternar en el tiempo la ejecución de dos funciones de forma continua.

El siguiente diagrama de secuencia muestra una idea de lo que quiero llevar a cabo:

introducir la descripción de la imagen aquí

A fin de evitar una “chapuza” como puede ser un bucle while(True) utilizando time.sleep() mi primera aprximación en Python ha sido utilizar la opción threaring.Timer. A continuación muestro un código de ejemplo:

import threading   delayOff = 2 delayOn = 0.5 counter = 0  def tOn():          #Acciones en estado tOn           #.         #.         #.          global counter         counter+=1         print("Estoy en On - counter = " + str(counter))          #Timers         timer_on = threading.Timer(delayOn,tOff)          #Start the timers         timer_on.start()         def tOff():          #Acciones en estado tOff           #.         #.         #.          global counter         counter+=1         print("Estoy en Off - counter = " + str(counter))          #Timers         timer_off = threading.Timer(delayOff,tOn)         #Start the timers         timer_off.start()     #Iniciamos la serie llamando a tOn tOn()    

Que otras alternativas existen? Cuales son los pros y contras de esta solución?

Muchas gracias por la ayuda.

Valores variables en tiempo de ejecución

estoy haciendo un header que muestra un título dependiendo de la página donde te encuentres. El caso es que cuando en código se llama al encabezado, la variable aún no ha cogido el valor:

    //header title     $  subHeading = '--';     session_start();     if(isset($  _SESSION['login'])){         require_once('view/header.php'); /* Más comprobaciones */  $  subHeading = 'Orders'; 

En este caso el titulo muestra el valor al inicializar — en lugar de Orders… ¿Qué forma sería la correcta de abordar esto? (Espero haberme explicado bien)

Diferencia de salida en ejecución de comando Bash con terminal o con Python

Buenas noches comunidad.

Estoy ejecutando un comando Bash a traves de python con subprocess.popen y la salida que recibo es diferente a la que obtengo si lo ejecuto a través del terminal bash. Remito a continuación el código del script en python y las salidas que obtengo tanto en Bash como en python.

La verdad, me ha sorprendido bastante… ¿Quizá tenga que ver con el split que le realizo al comando? Según he visto, esa es la manera idónea de hacerlo, pero ni idea, soy nuevo en bash.

Código Python:

import subprocess  bashCommand = r"lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {}" process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE, shell=True) output, error = process.communicate() x = output.splitlines() 

Salida en la terminal de Linux:

01:00.0 VGA compatible controller: NVIDIA Corporation GT215 [GeForce GT 240] (rev a2) (prog-if 00 [VGA controller])     Subsystem: Gigabyte Technology Co., Ltd GT215 [GeForce GT 240]     Flags: bus master, fast devsel, latency 0, IRQ 27     Memory at f6000000 (32-bit, non-prefetchable) [size=16M]     Memory at e0000000 (64-bit, prefetchable) [size=256M]     Memory at f0000000 (64-bit, prefetchable) [size=32M]     I/O ports at e000 [size=128]     Expansion ROM at 000c0000 [disabled] [size=128K]     Capabilities: <access denied>     Kernel driver in use: nouveau     Kernel modules: nvidiafb, nouveau 

Imagen de salida de las variables en python: introducir la descripción de la imagen aquí

Como se puede apreciar, python me devuelve muchos mas valores, lo cual no está mal, pero no es precisamente lo que busco.

Un saludo, muchas gracias!! 😉

Bloquear archivo durante tiempo de ejecución

Mi problema es el siguiente, tengo una aplicasion en ASP.net que genera un PDF, el detalle es que cuando 2 usuarios intentan generar el pdf, dañan el archivo y se bloquea(no deja eliminarlo), hay alguna manera de indicar que el archivo está siendo utilizado y que no se pueda modificar el archivo hasta que termine de procesarse?

Gracias.

Ejecución de código Java desde un .jar

Estoy haciendo una API REST con SpringBoot que da servicio a diversos dispositivos. Los dispositivos se registran con sus datos en el servidor, entre ellos, las funciones que soportan (Únicamente el nombre).

Lo que me gustaría es poder incluir el código de estas funciones fuera de la aplicación a modo de plugin. De forma que cuándo quisiese invocar una de estas funciones el código no estuviese en el .jar que creo para levantar el servidor.

Lo principal que me gustaría hacer sería poder ejecutar un código que yo he puesto ahí después de construir el .jar de mi aplicación. Como opción muy interesante me gustaría poder detectar las clases que tengo fuera a modo de módulos o plugins para poder listar sus funciones sin tener que invocarlas. Sé que esto último podría ser pedir demasiado.

He estado investigando y no he encontrado nada muy claro. Si queréis que edite la pregunta no tenéis más que decírmelo. Agradecería cualquier sugerencia/solución, muchas gracias por adelantado.